Вопрос по Delphi

Merlіn

dead wizard
Ответ: Помощь по Delphi

Live сказав(ла):
Может кто знает как скопировать выбранные записи (строчки) DBGrid'a в буфер обмена.

Есть крутой TDbGrideh, но вот досада там записи копируются в буфер только комбинацией Ctrl+C. Но пользователю нужно сделать это еще в меню т.к. неохота использоват ему эту комбинацию клавиш.
Вопрос: как програмно нажать эти клавиши Ctrl+C ? (одновременно)
Глава 23 Буфер обмена.
 

setty

Граф
Ответ: Помощь по Delphi

твоя программа ждёт нажатия клавиш, обрабатывает входящие сообщения клавиатуры и сама же их себе и посыдает?
ты сам то веришь что это не верх кодерской криворукости?
 

Hamster

Well-Known Member
Ответ: Помощь по Delphi

Хэлп. Дельфи 7.

есть форм1 и форм2 с едит1 и едит2. Форм1 главная.

procedure TForm1.FormActivate(Sender: TObject);
begin

form2.show;
end;


procedure TForm2.Button1Click(Sender: TObject);
begin
if (form2.edit1.text ='') or (form2.edit2.text='') then
begin
MessageDlg('Поля не должны быть пустыми!', mtinformation, [mbOk] , 0) ;
end


Else begin messagebeep(70);
MessageDlg('Ну что, '+form2.edit1.text+'c города ' +form2.edit2.text+', начнем игру.', mtinformation, [mbOk] , 0) ;

form1.label1.caption:='ыимыфви'; form2.Close;
end;
end;



при нажатии буттон1 на форме 2 form1.label1.caption:='ыимыфви' выполняеться но при етом выбивает ошибку:
 

Вкладення

akick

letter to god
Ответ: Помощь по Delphi

Значит ошибку подавил следующим способом оценивай
Active:
Код:
procedure TForm1.FormActivate(Sender: TObject); 
begin  
form2.Show;  
end;
Код:
procedure TForm2.Button1Click(Sender: TObject);  
begin  
if (form2.edit1.text ='') or (form2.edit2.text='') then  
begin  MessageDlg('Поля не должны быть пустыми', mtinformation, [mbOk] , 0) ;  end 
Else 
begin 
messagebeep(70);  
MessageDlg('Ну что, '+form2.edit1.text+' из города ' +form2.edit2.text+', начнём игру.', mtinformation, [mbOk] , 0) ;    
form1.label1.caption:=Edit1.Text;  
end;  
end;
и плюс добавляем ещё одно
действие ;)
Form2.FormClose:
Код:
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);  
begin  
Form1.Enabled:=False;  
Form1.Close;  
end;
А вообщето нерационально использовать онэктив иззанего и портачит ;)
ибо неможет быть закрыта дочерняя форма
лучше OnMouseDown
ну то дело твоё ;)
Незнаю, может несовсем то, что ты хотел но всёже в закрытии формы 2 нету проку есле оно он активе, а есле нет, то задавай правильное действие
 

Hamster

Well-Known Member
Ответ: Помощь по Delphi

Не, не в том тут дело....
Нужно писать Form2.showmodal. При етом форм1 "активен" и значения лебелов всяких могут на нем присваиваться. А когда писать просто SHOW, то форм1 становиться "неактивным" и на нем ничего изменить невозможно.

Как я понял....... Полдня раздуплялся. На дельфи 6 вроде работало... Ну лана.

Ломовской вопрос. Как сделать, чтобы при наведении курсора мыши на объект( кнопка, чекбокс....) появлялась подсказка.
 

KoLoB

KoLoB.cz
Ответ: Помощь по Delphi

GH0ST сказав(ла):
Не, не в том тут дело....
Нужно писать Form2.showmodal. При етом форм1 "активен" и значения лебелов всяких могут на нем присваиваться. А когда писать просто SHOW, то форм1 становиться "неактивным" и на нем ничего изменить невозможно.

Как я понял....... Полдня раздуплялся. На дельфи 6 вроде работало... Ну лана.

Ломовской вопрос. Как сделать, чтобы при наведении курсора мыши на объект( кнопка, чекбокс....) появлялась подсказка.
Феофан ответил точно, но не понятно %)

Хинт - это свойство объекта.
 

Hamster

Well-Known Member
Ответ: Помощь по Delphi

Спасибо, я уж сам методом научного тыка нашол.
 

FEOFAN

http://feofan.com
Ответ: Помощь по Delphi

Не знаю на что я надеюсь, но все же...
Задача: скопировать выделенный текст из IE в своей прогой.

Что я уже сделал:
1:
PHP:
ie := findwindow(pchar('ieframe'),nil);
postmessage (ie,wm_copy, 0,0);
Не копирует. Гугл подсказал что не у одного меня с таким методом проблемы.
2:
PHP:
ie := findwindow(pchar('ieframe'),nil);
worker := findwindowex(ie,0,'workera',nil);
Первый хендл я получаю, а как дальше двигаться-хз, т.к. findwindowex не работает с NT.
Вобщем подскажите как мне продвинуться дальше.
 
Зверху