![]() |
|
|
![]()
|
|
| GGoga |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 1.5.2007 Где: Харьков Репутация: нет Всего: нет |
Здравствуйте уважаемые господа программисты. Помогите начинающему программисту в освоении
Visual C++, а именно, библиотеки MFC. Я хочу написать приложение для работы с БД, только не могу ничего сделать, потому как еще практически ничего не знаю в Visual Studio. Подскажите мне, как можно программно изменять свойства элементов управления, например, CStatic. Что нужно прописать, если я хочу изменить размер, положение, шрифт и т.д. Вот что я делаю: //----------------------------------------------------------------------------- void CEmbadedDBView::OnInitialUpdate() { CFormView::OnInitialUpdate(); // Название окна GetDocument()->SetTitle(theApp.GetWindowTitle()); GetParentFrame()->RecalcLayout(FALSE); // Убираем преобразование размеров фрейма // ResizeParentToFit(); // Создать объект типа Static text if(!m_wndStaticDB) { m_wndStaticDB = new CStatic; m_wndStaticDB->Create(_T("Доступные БД:"), WS_CHILD | WS_VISIBLE, CRect(10, theApp.GetWindowHeight()/30, theApp.GetWindowWidth()/10 + 50, theApp.GetWindowHeight()/30 + 15), this); } } //----------------------------------------------------------------------------- Только вот я не знаю, как изменить параметры этикетки после создания. Ну, в принципе, аналогично, я не знаю, как можно программно управлять другими элементами. Подскажите, пожалуйста, как это сделать. Вот в Builder-е все просто, а здесь, пока как-то не освоился, и не могу ничего сделать. И еще такой вопрос, какой лучше использовать элемент для отображения содержимого таблиц (я хочу оформить это в виде таблицы, как в Builder — DataGrid), и можно ли так вообще сделать? Заранее ОГРОМНОЕ СПАСИБО!!! |
|||
|
||||
| DigitSphinx |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 442 Регистрация: 28.4.2007 Где: Москва Репутация: нет Всего: 3 |
*Это MFC ? или Windows Form Application ? где ты откопал такое «theApp.GetWindowHeight()» ???
Если WFA то тебе в раздел .NET , а управление контролями на форме в MFC не так просто как в Borland’e , ты должен знать основы WinAPI. *Используй поиск до того как задать вопрос. *Если что будет не понятно пиши что именно и приводи кусок кода с ошибкой |
|||
|
||||
| GGoga |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 1.5.2007 Где: Харьков Репутация: нет Всего: нет |
Это MFC.
theApp.GetWindowHeight() - это метод, который возвращает высоту установленного окошка. Я уже немного расчехлился с элементами управления, хотя это и не так то просто самому сделать. Хорошо, что есть куча форумов, где можно почитать то, что нужно А то, что-то все книги, которые купил по Visual Studio, рассматривают одно и то же - рисование в окне. Вот и все... Вот Архангельский под Билдер настоящую энциклопедию написал - самостоятельно можно разобраться во всем, а по Студие еще ни одной подходящей книжки не видел :( Хотя, может плохо искал... |
|||
|
||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 6 Всего: 118 |
-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| DigitSphinx |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 442 Регистрация: 28.4.2007 Где: Москва Репутация: нет Всего: 3 |
Я английский знаю , я имел ввиду что НЕТ такого в MFC !!! Чтобы получить размеры окошка юзают
В зависимости от того что именно нужно. |
||||
|
|||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 7 Всего: 92 |
Есть |
|||
|
||||
| DigitSphinx |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 442 Регистрация: 28.4.2007 Где: Москва Репутация: нет Всего: 3 |
Тогда я тоже хочу !
|
|||
|
||||
| zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 16 Всего: 92 |
||||
|
||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
MFC10_beta.dll ? Это сообщение отредактировал(а) Coocky - 25.6.2007, 17:05 -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| GGoga |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 1.5.2007 Где: Харьков Репутация: нет Всего: нет |
БОЛЬШОЕ СПАСИБО за ссылки Буду разбираться! Добавлено через 10 минут и 46 секунд Да, такого в MFC нету |
|||
|
||||
| GGoga |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 1.5.2007 Где: Харьков Репутация: нет Всего: нет |
Хотел бы задать еще такой вопрос по поводу написания обработчиков для кнопки.
Помогите найти ошибку или разобраться в том, что я неправильно сделал. Мне нужно написать обработчик на нажатие кнопки, которую создаю программно. Только вот я, вроде бы , прописываю все правильно, однако ничего не получается Вот значит код следующий
Вот только ничего не работает. Сообщение при нажатии на кнопку не выскакивает. А вот если кнопку поместить на форму и прописать обработчик с помощью мастера, то все работает... Я вот думаю, что может на программно созданную кнопку оно не добавляет ее ID (IDC_BUTTON_TAB)? Вот как я его объявил: // Создал свой header файл и записал в нем следующую строку #define IDC_BUTTON_TAB 2004 Я подозреваю, что именно с ID и ошибка, т.е. данное значение не регистрируется для кнопки... Подскажите кто-нибудь, что я неправильно сделал и как сделать верно, чтобы начало работать? Заранее спасибо |
|||
|
||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
Ты уверен, что 2004 уже не используется?
Короче, зайти в ресурсы, найди в меню студии Edit->Resources Symbols-посмотри-юзается ли у тебя 2004 Стоп!
А что это такое? Родитель? А обрабатываеш где? В CEmbadedDBView? Это сообщение отредактировал(а) Coocky - 26.6.2007, 16:03 -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| GGoga |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 1.5.2007 Где: Харьков Репутация: нет Всего: нет |
>Ты уверен, что 2004 уже не используется?
Вот я то как раз и не знаю, используется или нет... >Добавлено @ 15:28 >Стоп! >А что это такое? Родитель? >А обрабатываеш где? В CEmbadedDBView? Да, m_wndStaticDB - это родитель (элемент типа CStatic*), а обрабатываю в CEmbadedDBView. А разве это не правильно? Родителем элемента m_wndStaticDB является CEmbadedDBView. Добавлено через 3 минуты и 4 секунды О, СПАСИБО!!! Изменил родителя кнопки и ЗАРАБОТАЛО!!! Добавлено через 10 минут и 16 секунд А такой еще вопрос. Как можно преобразовать тип char[] в LPCTSTR? |
|||
|
||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
char iho [25];
(LPCTSTR)iho; Добавлено @ 16:04 LPCSTR-это указатель . iho-тоже указатель. typedef CONST CHAR *LPCSTR, *PCSTR; typedef char CHAR; Какие проблемы? Добавлено @ 16:06 Да.... Флеймовая тема получилась Это сообщение отредактировал(а) Coocky - 26.6.2007, 16:07 -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| Gremlin |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 119 Регистрация: 28.8.2006 Репутация: нет Всего: нет |
Другие вопщем книжки надо читать!
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |