Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[WinAPI] Rysowanie tekstu na zakładce

Ostatnio zmodyfikowano 2013-03-09 14:20
Autor Wiadomość
user_
Temat założony przez niniejszego użytkownika
[WinAPI] Rysowanie tekstu na zakładce
» 2013-03-08 22:30:15
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ą.

Screen
Screen

Oto kod:

C/C++
#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;
}
P-77948
xevuel
» 2013-03-09 11:36:26
Jest jakiś sensowny powód, dla którego chcesz używać TextOut zamiast kontrolek?
P-77963
user_
Temat założony przez niniejszego użytkownika
» 2013-03-09 14:20:27
No w zasadzie to nie ma, po prostu dopiero od dwóch dni używam WinAPI. A co do problemu to zdecydowałem, że użyję kontrolek.
P-77969
« 1 »
  Strona 1 z 1