Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.05.2011, 19:43   #1
-COREY-
Пользователь
 
Аватар для -COREY-
 
Регистрация: 19.04.2009
Сообщений: 50
По умолчанию Проблема с созданием radiobutton

Здравствуйте!Пишу простое приложение c использованием winapi, занимаюсь им недавно,мне нужно, чтобы при нажатии кнопки на форме создавалось поле edit и несколько radiobutton'ов. Подскажите как мне это лучше всего сделать?
Поле edit я создаю вот так
Код:
LRESULT CALLBACK WndProc(HWND hwnd, UINT uMessage, WPARAM wParam, LPARAM lParam)
{
   switch(uMessage)
	{
	  
	   case WM_COMMAND:
		   {
		      switch (wParam)
		         {
			        case ID_BUTTON4:
						{
						 CreateWindowEx(
		                    WS_EX_CLIENTEDGE,
							_TEXT("edit"),
							_TEXT(""),
							ES_LEFT |          WS_CHILD | WS_VISIBLE | WS_BORDER,
							100,
							100,
							585,
							20,
							NULL,
							(HMENU)ID_EDIT1,
							NULL,
							NULL);

						}    
		         }  
		   }
	   
	   case WM_DESTROY:
	   
	   default:
		   return DefWindowProc(hwnd,uMessage,wParam,lParam);

	}
}
Насколько я понимаю мне надо послать сообщение главной форме, чтобы она перерисовалась,как мне это сделать, подскажите пожалуйста.Может я вообще её не там создаю?

Последний раз редактировалось -COREY-; 07.05.2011 в 19:49.
-COREY- вне форума Ответить с цитированием
Старый 07.05.2011, 21:26   #2
N1KeL
Пользователь
 
Аватар для N1KeL
 
Регистрация: 20.04.2009
Сообщений: 58
По умолчанию

Функция, посылающая сообщение WM_PAINT (перерисовка окна):
Код:
InvalidateRect(hwnd, NULL, FALSE);
Типичная обработка сообщения WM_PAINT:
Код:
case WM_PAINT:
	hdc = BeginPaint(hwnd, &ps);
	//...
	EndPaint(hwnd, &ps);
break;

Последний раз редактировалось N1KeL; 07.05.2011 в 21:29.
N1KeL вне форума Ответить с цитированием
Старый 09.05.2011, 09:52   #3
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

switch(LOWORD(wParam))
counter вне форума Ответить с цитированием
Старый 10.05.2011, 02:32   #4
Digit@ll
Brainsbreaker
Пользователь
 
Аватар для Digit@ll
 
Регистрация: 07.02.2011
Сообщений: 26
По умолчанию

Код:
LRESULT CALLBACK WndProc(HWND hwnd, UINT uMessage, WPARAM wParam, LPARAM lParam)
{
	switch(uMessage)
	{
	case WM_COMMAND:
		{
			switch (LOWORD(wParam))
			{
			case ID_BUTTON4:
				
				CreateWindowEx (WS_EX_CLIENTEDGE, _TEXT("edit"), _TEXT(""),
						ES_LEFT | WS_CHILD | WS_VISIBLE | WS_BORDER,
						100, 100, 585, 20, hwnd, 0, hInst, NULL);
			}
			break;
		}
	case WM_DESTROY:
		PostQuitMessage(0);
		break;
	default:
		return DefWindowProc(hwnd, uMessage, wParam, lParam);
	}
	return 0;
}
Digit@ll вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с созданием Handle Miller-1981 C++ Builder 2 23.01.2011 12:43
Проблема с созданием пользователя shtep PHP 0 19.12.2010 16:38
Проблема с созданием класса Arkuz Общие вопросы Delphi 10 18.04.2010 14:18
Проблема с RadioButton RIO Общие вопросы Delphi 7 28.08.2009 02:03
Проблема с radiobutton Danilpo Компоненты Delphi 4 03.03.2009 08:16