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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.09.2022, 04:29   #1
apofioz
Форумчанин
 
Регистрация: 22.01.2014
Сообщений: 313
По умолчанию Не отображается "static" в окне

Здравствуйте! Не могу понять, почему не отображает орган управления "static" в окне.
Вот код:

Код:
#include<windows.h>
#include<tchar.h>

BOOL RegClass(WNDPROC, LPCTSTR, UINT);

LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
TCHAR szMainClass[] = TEXT("_MainClass_");
//TCHAR szTitle[] = TEXT("The About Window");

TCHAR szEditClass[] = TEXT("edit");

#define ID_EDIT       1001

HINSTANCE hInstance;
//int cxClient, cyClient, cxEdit, cyEdit;

//int iNumberInstanceApplication = 0;
int WINAPI _tWinMain(HINSTANCE hInst, HINSTANCE hPrevInstance, LPTSTR lpszCmdLine, int nCmdShow)
{
	HWND hwnd = NULL;
	MSG msg = { };
	hInstance = hInst;

	if (!RegClass(WndProc, szMainClass, COLOR_BTNFACE))
		return FALSE;
	TCHAR sz[64], iNum[8];
	_stprintf_s(sz, 64, TEXT("%s"), TEXT("Window "));
	_stprintf_s(iNum, 8, TEXT("%d"), iNumberInstanceApplication);
	_tcscat_s(sz, 64, iNum);
	if (!(hwnd = CreateWindow(szMainClass, sz,
		WS_OVERLAPPED | WS_SYSMENU | WS_MINIMIZEBOX |
		WS_MAXIMIZEBOX | WS_THICKFRAME,
		CW_USEDEFAULT, CW_USEDEFAULT,
		CW_USEDEFAULT, CW_USEDEFAULT,
		NULL, 0, hInst, NULL)))
	{
		return FALSE;
	}
	
	ShowWindow(hwnd, SW_SHOWNORMAL);
	UpdateWindow(hwnd);
	while (GetMessage(&msg, NULL, 0, 0))
	{
		TranslateMessage(&msg);
		DispatchMessage(&msg);
	}
	return msg.wParam;
}

BOOL RegClass(WNDPROC proc, LPCTSTR szName, UINT brBackground)
{
	WNDCLASS wc;
	wc.style = wc.cbClsExtra = wc.cbWndExtra = 0;
	wc.hInstance = hInstance;
	wc.lpfnWndProc = proc;
	wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
	wc.hCursor = LoadCursor(NULL, IDC_ARROW);
	wc.hbrBackground = (HBRUSH)(brBackground + 1);
	wc.lpszMenuName = (LPCTSTR)NULL;
	wc.lpszClassName = szName;

	return (RegisterClass(&wc) != 0);
}

LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
	static HWND hEdit, hwndCurrent, hStatic;
	//static int cxClient, cyClient, cxStart, cyStart;
	//int nxMin, nxMax;
	switch (msg)
	{
	case WM_CREATE:
		/*hwndCurrent = FindWindow(szMainClass, NULL);
		while (hwndCurrent)
		{
			++iNumberInstanceApplication;
			hwndCurrent = FindWindowEx(NULL, hwndCurrent, szMainClass, NULL);
		}*/
		hStatic = CreateWindow(TEXT("STATIC"),
			NULL,
			150, 100, 150, 50,
			WS_CHILD | WS_VISIBLE | WS_BORDER |
			SS_BLACKRECT,
			hwnd, (HMENU)1, hInstance, NULL);
		
		return 0;
	case WM_DESTROY:
		PostQuitMessage(0);
		return 0;
	}
	return DefWindowProc(hwnd, msg, wParam, lParam);
}
apofioz вне форума Ответить с цитированием
Старый 16.09.2022, 07:47   #2
AbakBarama
Пользователь
 
Регистрация: 12.05.2011
Сообщений: 57
По умолчанию

Стиль окна в списке параметров должен идти перед координатами, а не после них.
AbakBarama на форуме Ответить с цитированием
Старый 16.09.2022, 08:02   #3
apofioz
Форумчанин
 
Регистрация: 22.01.2014
Сообщений: 313
По умолчанию

Цитата:
Сообщение от AbakBarama Посмотреть сообщение
Стиль окна в списке параметров должен идти перед координатами, а не после них.
) Да, затупил, бывает...
apofioz вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Необходимо написать "таймер", который будет запускаться при нажатии кнопки "Start", приостанавливаться на "Pause", и сбрасываться на "Reset" billiejean78 JavaScript, Ajax 1 03.09.2021 08:58
Убрать папки "Pictures", "Music", "Видео", "Downloads" из "МОЙ КОМПЬЮТЕР" Бахтиёр1916 Windows 1 05.04.2017 12:53
Нужно пояснить/прокомментировать код программы, или коды функций "Добавить" "Удалить" "Обновить(редактировать" "Поиск" "Период") ZIRASS PHP 4 15.06.2016 14:23
Для заданной строки определить все входящие в неё символ. Например: строка "abccbbabbac" состоит из символов "a", "b" и "c" Sandakan01 Помощь студентам 1 24.02.2016 03:20