Азбука программирования в Win32 API


Азбука программирования в Win32 API - стр. 167


Сообщение TVM_GETCOUNT позволяет получить число элементов списка, а сообщение TVM GETVISIBLECOUNT - число элементов списка, видимых в данный момент.

Для того чтобы связать с окном просмотра деревьев список изображе­ний, нужно воспользоваться сообщением TVM_SETIMAGEEIST. Сооб­щение TVM_GETIMAGELIST позволяет получить хэндл списка изобра­жений, связанного с окном просмотра деревьев.

Для того чтобы пояснить то, о чем шла речь в этом разделе, ниже при­ведена демонстрационная программа. В ней элементами наивысшего уровня являются десятки от 0 до 100 (0, 10, 20... 100), а элементами второ­го уровня - числа, располагающиеся на числовой оси между целыми десятками. Вот текст этой программы:

#include <windows.h>

#include <commctrl.h> ^include <stdio>

HINSTANCE hlnst;

LRESULT CALLBACK TrceVicwWndProc ( HWND, UINT, UINT, LONG );

int WINAPI WinMain (HINSTANCE hlnstance, HINSTANCE hPrcvInstancc, LPSTR IpszCmdParam, int nCmdShow )

{

HWND hWnd ; WNDCLASS WndClass ; MSG Msg; char szClassName[] = "TreeView";

hlnst = hlnstance; /* Registering our window class */ /* Fill WNDCLASS structure */

WndClass.style = CS_HREDRAW | CSJVREDRAW;

WndClass.IpfnWndProc = TrecViewWndProc;

WndClass.cbClsExtra = 0;

WndClass.cbWndExtra = 0;

WndClass.hlnstance = hlnstance ;

WndClass.Mcon = Loadlcon (NULL,IDI_APPLICATION);

200

WndClass.hCursor = LoadCursor (NULL, IDC_ARROW); WndClass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH); WndClass.IpszMenuName = ""; WndClass.IpszClassNamc = szClassName;

if ( IRegisterClassf&WndClass))

>

\

MessageBox(NULL,"Cannot register class","Error",MB_OK); return 0;

hWnd = CreateWindow(szClassName, "TreeView Demo Program",

WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hlnstance.NULL); if(!hWnd) i

MessageBox(NULL,"Cannot create window","Error",MB_OK); return 0;

}

InitCommonControlsO; /* Show our window */




Начало  Назад  Вперед



Книжный магазин