Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Стиль win32 api приложения

62K
30 сентября 2011 года
oxide
8 / / 07.12.2010
Очень начинающий програмист пишет прогу на win32.

Проблема втом что кнопки квадратные, безликие и т.д. и т.п.
Как сделать управляющие элементы как текущая тема в винде ?
277
30 сентября 2011 года
arrjj
1.7K / / 26.01.2011
В этой статье подробно объясняется что нужно и почему так. Ну а как именно зависит от копмилятора, используемого тобой.
62K
02 октября 2011 года
oxide
8 / / 07.12.2010
В среде Visual Studio 2010 создал Empty project, нвбрал вот этот код:

#include <Windows.h>

#define ID_MYBUTTON 1

// оконная процедура
LRESULT CALLBACK WndProc(HWND hWnd, /UINT msg, WPARAM wParam, LPARAM lParam);

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
HWND hMainWnd;
char szClassName[] = "myWinClass";
WNDCLASSEX wc;
MSG msg;

wc.cbSize = sizeof(wc);
wc.style = CS_HREDRAW | CS_VREDRAW;
wc.lpfnWndProc = WndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = NULL;
wc.hCursor = NULL;
wc.hbrBackground= (HBRUSH) (COLOR_WINDOW + 1);
wc.lpszMenuName = NULL;
wc.lpszClassName= szClassName;
wc.hIconSm = NULL;

// регистрируем класс окна
RegisterClassEx(&wc);

// создаём главное окно отбражаем его
hMainWnd = CreateWindow(szClassName, "Projector", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0,
(HWND)NULL, (HMENU)NULL, (HINSTANCE)hInstance, NULL);

// показываем наше окно
ShowWindow(hMainWnd,nCmdShow);

UpdateWindow(hMainWnd);

while (GetMessage(&msg, NULL,0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}

// Оконная процедура
LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch(msg)
{
case WM_CREATE:
CreateWindow("button","My button",WS_CHILD|BS_PUSHBUTTON|WS_VISIBLE,
5,5,100,20,hWnd,(HMENU)ID_MYBUTTON,NULL,NULL);
return 0;
case WM_DESTROY:
/* пользователь закрыл окно, программа может завершаться */
PostQuitMessage(0);
break;
default:
return DefWindowProc(hWnd, msg, wParam, lParam);
}
return 0;
}


сделал всё как тут
и ничё не выходит ((
если у кого получилось распишите в подробностях
14
02 октября 2011 года
Phodopus
3.3K / / 19.06.2008
ниче не выходит - откуда? откуда и что должно выйти?
62K
02 октября 2011 года
oxide
8 / / 07.12.2010
стиль виндовс должен передаться на управляющие элементы главного окна.
14
03 октября 2011 года
Phodopus
3.3K / / 19.06.2008
положьте рядом с exe файлом программы (prog.exe) manifest файл (prog.exe.manifest) с таким содержимым:
Цитата:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
publicKeyToken="6595b64144ccf1df"
language="*"
processorArchitecture="x86"/>
</dependentAssembly>
</dependency>
</assembly>

7
03 октября 2011 года
@pixo $oft
3.4K / / 20.09.2006
А «<assemblyIdentity processorArchitecture="*" version="5.1.0.0" type="win32" name="App"/>» не нужна совсем?Просто у меня без этой строки оно вроде не очень-то и хотело работать
14
03 октября 2011 года
Phodopus
3.3K / / 19.06.2008
Может и нужна, я честно говоря вырезал из большого манифеста который попался первым под руку...
41K
03 октября 2011 года
kisssko
108 / / 28.10.2010
А разве MSVC++ сам манифест готовый не внедряет?
7
04 октября 2011 года
@pixo $oft
3.4K / / 20.09.2006
Только для MSVCRxx(D).dll,так что увы
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог