Witam. Chcę narysować tekst na zakładce i wszystko jest ok dopóki nie dodam pliku Manifest żeby skorzystać z aktualnej kompozycji systemu wtedy tekst rysowany jest pod zakładką.
#include <windows.h>
#include <commctrl.h>
const int ID_TAB_A = 1;
const int ID_TAB_B = 2;
PAINTSTRUCT ps;
HDC hdc;
HWND hTab;
LRESULT CALLBACK WindowProcedure( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam )
{
switch( message )
{
case WM_PAINT:
hdc = BeginPaint( hwnd, & ps );
TextOut( GetDC( hwnd ), 200, 170, "Narysowany Tekst ---> ??????????????????!", sizeof( "Narysowany Tekst ---> ??????????????????!" ) );
ReleaseDC( hwnd, hdc );
EndPaint( hwnd, & ps );
break;
case WM_CLOSE:
DestroyWindow( hwnd );
break;
case WM_DESTROY:
PostQuitMessage( 0 );
break;
default: return DefWindowProc( hwnd, message, wParam, lParam );
}
return 0;
}
int WINAPI WinMain( HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszArgument, int nCmdShow )
{
WNDCLASSEX wincl;
wincl.hInstance = hThisInstance;
wincl.lpszClassName = "ClassName";
wincl.lpfnWndProc = WindowProcedure;
wincl.style = CS_DBLCLKS;
wincl.cbSize = sizeof( WNDCLASSEX );
wincl.hIcon = LoadIcon( NULL, IDI_APPLICATION );
wincl.hIconSm = LoadIcon( NULL, IDI_APPLICATION );
wincl.hCursor = LoadCursor( NULL, IDC_ARROW );
wincl.lpszMenuName = NULL;
wincl.cbClsExtra = 0;
wincl.cbWndExtra = 0;
wincl.hbrBackground =( HBRUSH ) COLOR_BACKGROUND;
if( !RegisterClassEx( & wincl ) ) return 1;
HWND hwnd = CreateWindowEx( 0, "ClassName", "App", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 500, 300, HWND_DESKTOP, NULL, hThisInstance, NULL );
ShowWindow( hwnd, nCmdShow );
InitCommonControls();
hTab = CreateWindowEx( 0, WC_TABCONTROL, 0, WS_CHILD | WS_VISIBLE | TCS_FIXEDWIDTH, 0, 100, 350, 200, hwnd, 0, hThisInstance, NULL );
TabCtrl_SetItemSize( hTab, 120, 20 );
TCITEM tci1, tci2;
tci1.mask = TCIF_TEXT;
tci2.mask = TCIF_TEXT;
tci1.pszText = "A";
tci2.pszText = "B";
tci1.cchTextMax = sizeof( "A" );
tci2.cchTextMax = sizeof( "B" );
TabCtrl_InsertItem( hTab, ID_TAB_A, & tci1 );
TabCtrl_InsertItem( hTab, ID_TAB_B, & tci2 );
MSG messages;
while( GetMessage( & messages, NULL, 0, 0 ) )
{
TranslateMessage( & messages );
DispatchMessage( & messages );
}
return messages.wParam;
}