window class поменять у SDI
От: Ruslan Bondarev  
Дата: 12.04.02 21:40
Оценка:
Хочу поменять имя класса окна в SDI приложении.
(Сейчас он представляет собой нечто типа Afx:400000:8:10011:0:360297)

Как это сделать правильно?
Re: window class поменять у SDI
От: Alex Fedotov США  
Дата: 12.04.02 23:13
Оценка:
Здравствуйте Ruslan Bondarev, Вы писали:

RB>Хочу поменять имя класса окна в SDI приложении.

RB>(Сейчас он представляет собой нечто типа Afx:400000:8:10011:0:360297)

RB>Как это сделать правильно?


static const TCHAR s_szClassName[] = _T("MyCoolClassName");

BOOL CMainFrame::PreCreateWindow(
    IN OUT CREATESTRUCT& cs
    )
{
    if (!CFrameWnd::PreCreateWindow(cs) )
        return FALSE;

    cs.lpszClass = s_szClassName;

    WNDCLASSEX wcex;
    HINSTANCE hInstance = AfxGetInstanceHandle();

    if (!GetClassInfoEx(hInstance, s_szClassName, &wcex))
    {
        memset(&wcex, 0, sizeof(wcex));

        wcex.cbSize = sizeof(wcex);
        wcex.hInstance = hInstance;
        wcex.lpfnWndProc = AfxWndProc;
        wcex.lpszClassName = s_szClassName;

        // настраиваем класс окна по вкусу
        wcex.style = CS_DBLCLKS;
        wcex.hbrBackground = (HBRUSH)(COLOR_3DFACE + 1);
        wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
        wcex.hIcon = (HICON)LoadImage(hInstance, MAKEINTRESOURCE(IDR_MAINFRAME), 
                                      IMAGE_ICON, 32, 32, 0);
        wcex.hIconSm = (HICON)LoadImage(hInstance, MAKEINTRESOURCE(IDR_MAINFRAME), 
                                      IMAGE_ICON, 16, 16, 0);

        return RegisterClassEx(&wcex);
    }

    return TRUE;
}
-- Alex Fedotov
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.