Форум программистов, компьютерный форум, киберфорум
C++: WinAPI
Войти
Регистрация
Восстановить пароль
 
1 / 1 / 0
Регистрация: 14.02.2010
Сообщений: 43
1

TabbedTextOut

12.01.2011, 23:44. Показов 1203. Ответов 0
Метки нет (Все метки)

У меня дана переменная const char* lines[]={...} и есть функция для табуляции текста TabbedTextOut(...). Так вот в это функции используется под 4 параметром переменная lines[] и компилятор по этому поводу выдает ошибку, что там должна быть переменная вида LPCWSTR. Как мне можно исключить эту ошибку???
Этот пример взят из книги:Щупак Ю.А. Win32 API. Эффективная разработка приложений.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    int wmId, wmEvent;
    PAINTSTRUCT ps;
    HDC hdc;
    int tabstop[]={-130,150,250};
    int i;
    const char *lines[]={
            "Group""\t" "Result"  "\t" "Function"    "\t" "Parametrs",
            "Font" "\t" "HFONT"   "\t" "CreateFont"  "\t" "(int nHeihht,...)",
            "Text" "\t" "COLORREF""\t" "SetTextColor""\t" "(HDC hdc,...)",
            "Text" "\t" "BOOL"    "\t" "TextOut"     "\t" "(HDC hdc,...)"
    };
    int x=50,y=50;
 
    switch (message)
    {
    case WM_COMMAND:
        wmId    = LOWORD(wParam);
        wmEvent = HIWORD(wParam);
        // Разобрать выбор в меню:
        switch (wmId)
        {
        case IDM_ABOUT:
            DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
            break;
        case IDM_EXIT:
            DestroyWindow(hWnd);
            break;
        default:
            return DefWindowProc(hWnd, message, wParam, lParam);
        }
        break;
    case WM_PAINT:
        hdc = BeginPaint(hWnd, &ps);
        for(i=0;i<4;i++)
        {
            if(i==1)
                y+=10;
            y+=HIWORD(TabbedTextOut(hdc,x,y,lines[i],sizeof(lines[i]),sizeof(tabstop)/sizeof(int),tabstop,x));
        }
        // TODO: добавьте любой код отрисовки...
        EndPaint(hWnd, &ps);
        break;
    case WM_DESTROY:
        PostQuitMessage(0);
        break;
    default:
        return DefWindowProc(hWnd, message, wParam, lParam);
    }
    return 0;
}
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.01.2011, 23:44
Ответы с готовыми решениями:

Функция TabbedTextOut
Может кто-нибудь объяснить как она работает?) Потому как я уже весь мозг сломал с ней. Первые пять...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
0
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.