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

Вниз

Кнопка в TStringGrid   Найти похожие ветки 

 
MsGuns   (2003-01-09 12:23) [0]

Добрый день и удачи Мастерам !
Простой вопрос, но не получается. Надо программно в зависимости от режима (только при разрешенном редактировании, которым я сам и управляю) в случае, если активна определенная колонка грида (допустим, 2-я или 3-я), рисовать в правой части только активной ячейки кнопку "Справочник" (кнопка есть). Помогите, пожалуйста, в факах только примеры с раскраской и картинками.


 
Song   (2003-01-09 12:30) [1]

Ну дык в TStringGrid.onDrawCell сравнивай ACol/ARow с той ячейкой что тебе нужно и рисуй там кнопку, устанавливая TButton.Left/Top


 
MsGuns   (2003-01-09 12:42) [2]

>Song © (09.01.03 12:30)

В том то и дело, что не рисуется ! Вернее, рисуется, но почему-то ЗА стринггридом. Использую именно Top и Left кнопки !


 
MBo   (2003-01-09 12:46) [3]

>MsGuns
Сделай кнопке bringtofront (если она Tbutton или Tbitbtn, а вот c TSpeedBtn так не получится). В принципе, достаточно положить кнопку на форму ПОСЛЕ StringGrid


 
MsGuns   (2003-01-09 12:53) [4]

>MBo © (09.01.03 12:46)
TButton не катит. А вот с TBitBtn попробую

Но все же..
Если создать кнопку программно, а потом просто нарисовать ее по заданным координатам. Знаю, что можно, но вот неполучается..;(((
Если можно, код, пожалуйста. Что-то типа Canvas....


 
REA   (2003-01-09 12:56) [5]

В DBGrid есть элипсис (...). Можно посмотреть как сделано там. Или вообще использовать DBGrid.


 
MBo   (2003-01-09 13:00) [6]

procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
begin
if ACol=2 then begin
BitBtn1.Left:=StringGrid1.Left+StringGrid1.CellRect(ACol,ARow).Right-30;
BitBtn1.Top:=StringGrid1.Top+StringGrid1.CellRect(ACol,ARow).Top+3;
end;
end;


 
MsGuns   (2003-01-09 13:30) [7]

>REA © (09.01.03 12:56)
DBGrid не получится, т.к. в гриде надо редактировать записи автономно от НД, а потом запросом старые записи в таблице заменять новыми (речь идет о проводках по документу). При этом сама таблица проводок может быть открыта через другой датасет и совершенно по другим условиям выборки.

>MBo © (09.01.03 13:00)
Спасибо большое. Но это все же не TSpeedButton. (Дело в том, что в зависимости от контекста, рисунок на кнопке выбирается из списка имиджев, а BitBtn требует глиф. Определение же глифа через список требует также некоторых геморроев в коде). Буду пробовать.


 
MsGuns   (2003-01-09 13:33) [8]

Блин, совсем затрахался с этими кнопками,- в SpeedButton тоже только глиф. Буду геморройничать с извлечением глифа из списка и использовать BitBtn.


 
MBo   (2003-01-09 13:47) [9]

imagelist1.getbitmap(0,BitBtn1.Glyph);


 
reonid   (2003-01-09 15:00) [10]

Посмотри здесь - может, пригодится.
http://delphi.mastak.ru/cgi-bin/download.pl?get=1036924792&n=0

Правда, кнопки там без глифов, но нарисовать глиф вещь тривиальная:
ImgList.Draw(Canvas, Rect.Left+2, Rect.Top+2, ImgIndex)



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

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

Наверх





Память: 0.46 MB
Время: 0.009 c
4-62906
XED
2002-12-03 15:34
2003.01.20
Как перехватить запуск какойта проги!!!


1-62469
OxOTHuK
2003-01-09 09:36
2003.01.20
Listbox & Multiselect


1-62489
shel
2003-01-10 03:22
2003.01.20
Как организовать свяэь дочерних окон?


3-62401
MikeFlat
2002-12-26 01:27
2003.01.20
Как общаться с Blob полем


3-62423
Agafonov Alexsandr
2002-12-25 18:14
2003.01.20
Как считать Jpeg из бд в DBImage





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