Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.08.07;
Скачать: [xml.tar.bz2];

Вниз

TreeView с ChekBox оми.   Найти похожие ветки 

 
Punch   (2005-07-18 17:41) [0]

Подскажите компонент.


 
begin...end ©   (2005-07-18 17:44) [1]

Таким компонентом может являться стандартный TreeView. Добавьте к стилю его окна значение TVS_CHECKBOXES.


 
Юрий Зотов ©   (2005-07-18 17:56) [2]

> Punch   (18.07.05 17:41)

TTreeView.

uses
 CommCtrl;

procedure TForm1.FormCreate(Sender: TObject);
begin
 with TreeView1 do
   SetWindowLong(Handle, GWL_STYLE, GetWindowLong(Handle, GWL_STYLE) or TVS_CHECKBOXES)
end;


 
Fay ©   (2005-07-18 17:58) [3]

2 Юрий Зотов ©   (18.07.05 17:56) [2]
А виндо точно не будет перестраиваться?


 
Юрий Зотов ©   (2005-07-18 18:06) [4]

> Fay ©   (18.07.05 17:58) [3]

???


 
Fay ©   (2005-07-18 19:07) [5]

2 Юрий Зотов ©   (18.07.05 18:06) [4]
Возможен повторный вызов CreateWindow? У всяких TEdit-ов это происходит частенько.


 
Юрий Зотов ©   (2005-07-18 20:21) [6]

> Fay ©   (18.07.05 19:07) [5]

Возможен, если в коде будут меняться какие-то свойства дерева, требующие пересоздания окна. Если верить коду VCL (и если я ничего в нем не прозевал), то это свойства Ctl3D и BorderStyle.


 
Fay ©   (2005-07-18 21:14) [7]

2 Юрий Зотов ©   (18.07.05 20:21) [6]
Видимо, надо писать наследника.


 
Юрий Зотов ©   (2005-07-18 21:25) [8]

> Fay ©   (18.07.05 21:14) [7]

Кто умеет писать компоненты - да. Кто не очень - проще использовать StateImages.


 
Punch   (2005-07-19 14:43) [9]

Скажите, как узнать состояние (checked или unchecked) у узла?


 
Fay ©   (2005-07-19 18:39) [10]

Working with state image indexes
There is often confusion about how to set and retrieve the state image index in a tree-view control. The following examples demonstrate the proper method for setting and retrieving the state image index. The examples assume that there are only two state image indexes in the tree-view control, unchecked and checked. If your application contains more than two, these functions will need to be modified to handle that case.

The following example function illustrates how to set an item"s check state.

BOOL TreeView_SetCheckState(HWND hwndTreeView, HTREEITEM hItem, BOOL fCheck)
{
   TVITEM tvItem;

   tvItem.mask = TVIF_HANDLE | TVIF_STATE;
   tvItem.hItem = hItem;
   tvItem.stateMask = TVIS_STATEIMAGEMASK;

   /*Image 1 in the tree-view check box image list is the
   unchecked box. Image 2 is the checked box.*/
   
   tvItem.state = INDEXTOSTATEIMAGEMASK((fCheck ? 2 : 1));

   return TreeView_SetItem(hwndTreeView, &tvItem);
}

The following example function illustrates how to retrieve an item"s check state.

BOOL TreeView_GetCheckState(HWND hwndTreeView, HTREEITEM hItem)
{
   TVITEM tvItem;

   // Prepare to receive the desired information.
   tvItem.mask = TVIF_HANDLE | TVIF_STATE;
   tvItem.hItem = hItem;
   tvItem.stateMask = TVIS_STATEIMAGEMASK;

   // Request the information.
   TreeView_GetItem(hwndTreeView, &tvItem);

   // Return zero if it"s not checked, or nonzero otherwise.
   return ((BOOL)(tvItem.state >> 12) -1);
}



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2005.08.07;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.045 c
3-1120198692
Belkova
2005-07-01 10:18
2005.08.07
Экспорт в 1С


5-1092299241
stud
2004-08-12 12:27
2005.08.07
каким образом выполнить метод компанента?


10-1098875056
Николай
2004-10-27 15:04
2005.08.07
Проблема MS Access


4-1118051080
Андрей Жук
2005-06-06 13:44
2005.08.07
Аналог делфийского Format в WinAPI


4-1118079752
NikNet
2005-06-06 21:42
2005.08.07
Как вызвать приревание в DELPHI из RING3 (Третего кольца)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский