Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> увеличить размера окна, увеличить размер окна по левой кнопке 
:(
    Опции темы
Bart_Simpson
Дата 13.5.2007, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 6.3.2007
Где: Днепр Украина

Репутация: нет
Всего: нет



Ребята подскажите методику как по 'LEFT ARROW'   увеличить размер окна а по 'RIGHT ARROW'  уменьшить!
текст создания окна прилагаю

Код


#include <tchar.h>
#include <windows.h>
#include <stdafx.h>
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    if(message == WM_DESTROY) PostQuitMessage(0);
    else return DefWindowProc(hWnd, message, wParam, lParam);
    return 0;
}

int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
    
    TCHAR szWindowClass[64]="ASM32";
    TCHAR  szMenuName[64]="";
    TCHAR  szTitle[64]="WIN32 Application";
    
    WNDCLASS wincls;
    wincls.hInstance=GetModuleHandle(0);    
    wincls.style=CS_HREDRAW + CS_VREDRAW + CS_GLOBALCLASS;
    wincls.cbClsExtra=0;
    wincls.cbWndExtra=0;
    wincls.hIcon=LoadIcon(0,IDI_WINLOGO);
    wincls.hCursor=LoadCursor(0,IDC_ARROW);
    wincls.lpszMenuName=szMenuName;
    wincls.lpszClassName=szWindowClass;
    wincls.hbrBackground=(HBRUSH)(COLOR_WINDOW+1);
    wincls.lpfnWndProc=WndProc;
    RegisterClass(&wincls);

    
    HWND handler=CreateWindowEx(0,szWindowClass,szTitle,WS_OVERLAPPEDWINDOW,
                                CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,
                                CW_USEDEFAULT,0,0,wincls.hInstance,0);
    ShowWindow(handler,SW_SHOWNORMAL);
    UpdateWindow(handler);

    MSG msg;
    while(GetMessageA(&msg,0,0,0)){
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
    ExitProcess(msg.wParam);
    
    return 0;    
}


Это сообщение отредактировал(а) Bart_Simpson - 13.5.2007, 17:19
PM MAIL ICQ   Вверх
jonie
Дата 13.5.2007, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 7
Всего: 118



Код

LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
......
    else if (message == WM_RBUTTONUP){
        SetWindowPos(hWnd,0,0,0,100,100,SWP_NOMOVE|SWP_NOZORDER);
    }
    else if (message == WM_LBUTTONUP){
        SetWindowPos(hWnd,0,0,0,300,300,SWP_NOMOVE|SWP_NOZORDER);
    }
.......
}

и вообще хватит уже "клянчить". За тебя код писать не будут вечно. Про окна ВСЕ описано на MSDN.


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
Bart_Simpson
Дата 13.5.2007, 18:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 6.3.2007
Где: Днепр Украина

Репутация: нет
Всего: нет



Да написано не спорю но еслиб я знал как обработать нажатые клавиши я бы и не просил.
PM MAIL ICQ   Вверх
jonie
Дата 13.5.2007, 19:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 7
Всего: 118



тьфу) я на мышу сделал)) ну для клавишь аналогично - MSDN читаем про сообщения...


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
Любитель
Дата 13.5.2007, 19:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 1
Всего: 92



Сообщение - WM_KEYDOWN. В wParam - код клавиши. А вообще
Цитата(jonie @  13.5.2007,  19:34 Найти цитируемый пост)
MSDN читаем




--------------------
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0533 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.