Форум: Форум C++Разное
Новые темы: 00
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум C++

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как делать кнопки?
 
 автор: alex19921992   (10.02.2007 в 14:55)   письмо автору
 
 

Не могу разобраться с кнопками: пишу

static HWND button1;

И создаю:

case WM_CREATE:
CreateWindow("button""hello",
              WS_CHILD | WS_VISIBLE | 0,
              800,30,
              40,50,
              hwnd,(HMENU) i,
              ((LPCREATESTRUCT) lParam) -> hInstance, NULL);
return 0;

Но как задать координаты относительно окна? Например хочу на 20 пикселей левее правого края. Помогите пожалуйста!

  Ответить  
 
 автор: Фитч   (10.02.2007 в 15:38)   письмо автору
 
   для: alex19921992   (10.02.2007 в 14:55)
 

По-моему должно быть так:

HINSTANCE hInst; // дескриптор экземпляра программы, первый параметр WinMain
HWND button1;


case WM_CREATE:
button1 = CreateWindow("BUTTON",                                 // класс окна
                                              "hello!",                                              // текст
                                              WS_CHILD | WS_VISIBLE,     // стиль
                                              10,                                                // х-позиция
                                              10,                                               // у - позиция
                                              100,                                               // высота
                                              20,                                              // ширина
                                              hwnd,                                              // дескриптор окна-родителя
                                              NULL,                                              // у кнопки нет меню
                                              hInst,                                              // см. выше
                                              NULL);                                         // всегда NULL

Если надо переместить, то Можно пользоваться MoveWindow() (см. MSDN)

  Ответить  
 
 автор: alex19921992   (10.02.2007 в 16:11)   письмо автору
 
   для: Фитч   (10.02.2007 в 15:38)
 

Кстати, что такое ашинстанс? (hInstance)

  Ответить  
 
 автор: Фитч   (10.02.2007 в 20:49)   письмо автору
 
   для: alex19921992   (10.02.2007 в 16:11)
 

HINSTANSE - дескриптор экземпляра программы, передается как первый аргумент функции

WinMain(HINSTANCE hInstance, ...);

Часто. кстати, используется

ЗЫ:
Многие в WinMain вставляют такую строку:

hInst  = hInstance;

Предварительно объявив hInst, чтобы сделать этот дескриптор глобальным

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования