Вопрос № 85973: Уважаемые эксперты!
У меня по двойному клику по dbgrid открывается pdf файл
но открываются только последние 76 файлов из 1034 подскажите от чего это может зависеть?
var
b:string;
begin
b:=udm.Table1.FieldVal...Вопрос № 86087: Здравствуйте!
У меня есть собственный компонент - панель с двумя TShape-ами. Мне нужно обработать onMouseDown по всему компоненту. Когда я щелкаю по Моей панели, то onMouseDown срабатывает только тогда, когда я щелкаю по компоненту TPanel (родите...
Вопрос № 85.973
Уважаемые эксперты!
У меня по двойному клику по dbgrid открывается pdf файл
но открываются только последние 76 файлов из 1034 подскажите от чего это может зависеть?
var
b:string;
begin
b:=udm.Table1.FieldValues['file'];
Shellexecute(0,'open', pchar(trim('data'+ b +'.pdf')),NIL,nil, SW_SHOWnormal)
end;
Может Вы фильтровали данные таблицы и забыли выключить фильтр?
udm.Table1.Filtered:=False;
Ответ отправил: LEXASOFT (статус: 4-ый класс)
Ответ отправлен: 09.05.2007, 01:25
Отвечает: Esi
Здравствуйте, Kakenov Daulet!
Может быть trim не там написали:
b:=trim(udm.Table1.FieldValues['file']);
Shellexecute(0,'open', pchar('data'+ b +'.pdf'),NIL,nil, SW_SHOWnormal)
Ответ отправил: Esi (статус: 1-ый класс)
Ответ отправлен: 09.05.2007, 06:49 Оценка за ответ: 4
Вопрос № 86.087
Здравствуйте!
У меня есть собственный компонент - панель с двумя TShape-ами. Мне нужно обработать onMouseDown по всему компоненту. Когда я щелкаю по Моей панели, то onMouseDown срабатывает только тогда, когда я щелкаю по компоненту TPanel (родительский компонент). Необходимо обрабатывать щелчок даже тогда, когда клик был сделан по TShape.
Заранее благодарен за оказанное внимание.
Вместо DoMouseDown сделайте обработчик нажатия кнопки мыши.
Как вариант, DoMouseDown можно заменить на Panel1.OnMouseDown(Sender, Button, Shift, X, Y);
В Create Вашего компонента сделайте следующее: begin
...
Shape1.OnMouseDown:= ShapeMouseDown;
Shape2.OnMouseDown:= ShapeMouseDown; ...
end;
Здесь Shape1 и Shape2 - компоненты TShape. Подставьте вместо них те названия, которые Вы приняли. Не забудьте, что прежде чем назначать OnMouseDown компонентам, их нужно создать.
Удачи!
Ответ отправил: Denisss (статус: Профессионал) Россия, Москва WWW:Хлама много, по сути ничего... ICQ: 281599577 ---- Ответ отправлен: 08.05.2007, 23:54 Оценка за ответ: 5
Отвечает: Louken
Здравствуйте, Johnny Superb!
В момент создания ваших шэйпов, их свойствам onMouseDown присвойте процедуру, в которой выполните преобразование координат шэйпов, в координаты панели и вызовите метод панели MouseDown, с указанием этих новых координат.
Теперь у Вас должно быть так как Вы хотите.
Удачи.
Приложение:
Ответ отправил: Louken (статус: 1-ый класс)
Ответ отправлен: 09.05.2007, 00:08 Оценка за ответ: 5 Комментарий оценки: Предложение мне понравилоь. Спасибо! Только преобразование координат лучше сделать так: onMouseDown((Sender as TLabel).Parent, Button, Shift, X+(sender as TLabel).Left, Y+(sender as TLabel).Top); Только вот с procedure TYourControl.MouseDown у меня пока проблема, но я сам разберусь.