wndproc



Автор Грешник чОрный задал вопрос в разделе Другие языки и технологии

ВОПРОС ПО WINAPI....создание окна с помощью классов и получил лучший ответ

Ответ от Codenet[эксперт]
две главных функции ???точка входа должна быть только одна единственное что ее можно переопределить как какой нить MyWinMain при этом указав компилятору что ты ее переопределил
вот тебе рабочий пример окна с своей точкой входа
//--
#include <windows.h>
//--
#pragma comment(linker,"/ENTRY:New_WinMain")
//--
typedef struct
{
HWND hWnd;
DWORD dwID;
CHAR cWndClassName[200];
} sCurWnd;
char szTitle[]="test";
//--
HINSTANCE hInstance;
HWND hwnd;
//--
BOOL RegClass(WNDPROC,LPCTSTR,UINT);
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
//--
int New_WinMain(void)
{
MSG msg;
hInstance=GetModuleHandle(NULL);
//WNDCLASS wc;
char szMainClass[200];
if(!RegClass(WndProc,szTitle,COLOR_DESKTOP))
return FALSE;
hwnd = CreateWindow(szTitle,szTitle,WS_POPUPWINDOWWS_CAPTIONWS_MINIMIZEBOXWS_VISIBLE,50,10,655,530,0,0,hInstance,NULL);
UpdateWindow(hwnd);
if(!hwnd)
return FALSE;
while(GetMessage(&msg,0,0,0))
{
DispatchMessage(&msg);
TranslateMessage(&msg);
}
return msg.wParam;
}
//--
BOOL RegClass(WNDPROC Proc,LPCTSTR szName,UINT brBackground)
{
WNDCLASS wc;
wc.style=0;
wc.cbClsExtra=0;
wc.cbWndExtra=0;
wc.lpfnWndProc=Proc;
wc.lpfnWndProc=WndProc;
wc.hInstance=hInstance;
wc.hIcon=LoadIcon(NULL,IDI_EXCLAMATION);
wc.hbrBackground=(HBRUSH)(brBackground);
wc.lpszMenuName=(LPCTSTR)NULL;
wc.lpszClassName=szName;
return (RegisterClass(&wc)!=0);
}
//--
LRESULT CALLBACK WndProc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam)
{
switch(msg)
{
//--
case WM_CREATE:
{
}
case WM_COMMAND:
{
}
case WM_SIZE:
{
return 0;
}
case WM_CLOSE:
{
PostQuitMessage(0);
return 0;
}
default:
{
return DefWindowProc(hwnd,msg,wParam,lParam);
}
}
}
codenet
(698)
главная функция и оконная ? по моему главную функцию нельзя прятать по классам,она должна быть открыта в главном модуле..иначе как компилятор должен по классам которые может быть еще и не созданы на тот момент искать точку входа?

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: ВОПРОС ПО WINAPI....создание окна с помощью классов
спросили в Chordeumatida
как использовать GroupBox в WinAPI C++?
Groupbox - это просто кнопка Button со стилем BS_GROUPBOX.
На кнопке Button вообще много
подробнее...

Для тех кто шарит в winapi .
WndProc - функция обрабатывающая события. Смотря на какое действие пользователя ты хочешь
подробнее...

Где ошибка? С++
В ДНК у тебя ошибка, раз постишь код без нумерации строк и вывода компилятора.

Вот в
подробнее...
спросили в Музыка
Посоветуйте хороший Атмосферный Блэк метал. Atmospheric Black metal
Из известного, но отличного:
Summoning
Woods of Desolation
ColdWorld
Midnight
подробнее...
Ответ от 3 ответа[гуру]
Привет! Вот еще темы с похожими вопросами:
спросили в Unionoida
Что такое LRESULT, HWND, UINT, WPARAM, LPARAM?В строке
загуглить лень, понятно. тут сносят посты, когда я гуглю за тебя. - убрать подчеркивание. майл
подробнее...
спросили в Windows API
C# Что такое дескриптор окна сообщения (HWnd)?
При создании объекта, ему присваивается уникальный дескриптор, который в последующем передается
подробнее...

C++ Объясните что означают LRESULT и CALLBACK?
Как правило, полностью большими буквами в C++ пишутся имена макросов. Поищи в библиотеках, во что
подробнее...
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*