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

Вниз

Помогите пожалуйста с написанием компонента!   Найти похожие ветки 

 
qwerty2   (2003-01-26 14:12) [0]

Создаю свой компонент на основе DBCheckBox. Поведене компонента должно отличаться от стандартного только тем что при отображении значения NULL в базе в DBCheckBoxе отображать не серую галочку а серый квадратик. Создаю компонент наследник от DBCheckBox и переписываю метод Repaint:

procedure TDBCheckBoxGr.Repaint;
var cbhwnd:HWND;
cbdc:HDC;
R1:TRect;
Br:HBrush;
begin
inherited;
if State=cbGrayed then
begin
cbhwnd:=Handle;
cbdc:=GetDC(cbhwnd);
Br:=CreateSolidBrush(clMedGray);
R1.Left:=2;
R1.Top:=3;
R1.Bottom:=13;
R1.Right:=12;
fillrect(cbdc,R1,Br);
end;
end;


после чего поведение моего компонента ничем не отличается от стандартного хотя переписан метод Repaint. Подскажите пожалуйста что не так!


 
qwerty2   (2003-01-26 15:38) [1]

Неужели никто не знает?


 
Юрий Зотов   (2003-01-26 15:55) [2]

Вероятно, метод Repaint просто не вызывается в те моменты, которые Вам нужны. Заместите не Repaint, а обработчик сообщения WM_PAINT - вот там уж точно все сработает.


 
MXA   (2003-01-26 16:25) [3]

procedure BMSETCHECK(var Message: TMessage); message BM_SETCHECK;

...

procedure TMyDBCheckBox.BMSETCHECK(var Message: TMessage);
begin
if Message.WParam=ord(cbGrayed) then
Message.WParam:=ord(cbUnchecked);
inherited;
end;

// может можно как-то проще?



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

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

Наверх





Память: 0.44 MB
Время: 0.01 c
3-4760
User_OKA
2003-01-16 10:40
2003.02.03
экспорт в Excel


14-5197
Игорь Досужев
2003-01-14 02:24
2003.02.03
Спам - что это? Есть ли четкое определение?


1-4981
MikeFW
2003-01-23 14:34
2003.02.03
Как PChar преобразовать к String?


1-4851
BALU1111
2003-01-22 14:10
2003.02.03
Паскалевские функции работы с файлами


4-5322
alexteam
2002-12-18 13:46
2003.02.03
адаптирование приложения из win98 под winxp





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский