Автор Грешник чОрный задал вопрос в разделе Другие языки и технологии
ВОПРОС ПО 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)
главная функция и оконная ? по моему главную функцию нельзя прятать по классам,она должна быть открыта в главном модуле..иначе как компилятор должен по классам которые может быть еще и не созданы на тот момент искать точку входа?
как использовать GroupBox в WinAPI C++?
Groupbox - это просто кнопка Button со стилем BS_GROUPBOX.
На кнопке Button вообще много
подробнее...
Для тех кто шарит в winapi .
WndProc - функция обрабатывающая события. Смотря на какое действие пользователя ты хочешь
подробнее...
C++. Как перехватывать нажатия клавиш и обрабатывать их?
bool keys[256];
<...>
LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg,
подробнее...
Где ошибка? С++
В ДНК у тебя ошибка, раз постишь код без нумерации строк и вывода компилятора.
Вот в
подробнее...
Посоветуйте хороший Атмосферный Блэк метал. Atmospheric Black metal
Из известного, но отличного:
Summoning
Woods of Desolation
ColdWorld
Midnight
подробнее...
Что такое LRESULT, HWND, UINT, WPARAM, LPARAM?В строке
загуглить лень, понятно. тут сносят посты, когда я гуглю за тебя. - убрать подчеркивание. майл
подробнее...
C# Что такое дескриптор окна сообщения (HWnd)?
При создании объекта, ему присваивается уникальный дескриптор, который в последующем передается
подробнее...
C++ Объясните что означают LRESULT и CALLBACK?
Как правило, полностью большими буквами в C++ пишутся имена макросов. Поищи в библиотеках, во что
подробнее...