Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.06.2010, 13:05   #11
waterya
Пользователь
 
Регистрация: 24.10.2009
Сообщений: 23
По умолчанию

Код:
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, ToolWin, OleCtrls, SHDocVw;

type
  TForm2 = class(TForm)
    WebBrowser1: TWebBrowser;
    CoolBar1: TCoolBar;
    Edit1: TEdit;
    ComboBox1: TComboBox;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
      procedure F1(var Message:TMessage);message WM_HOTKEY;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;
  ID_HK: integer;

   const
 Mysite= 'http://en.wikipedia.org/wiki' ;
   VK_Up = $26;

implementation

{$R *.dfm}


procedure TForm2.F1(var Message:TMessage);
var
 Mylink: string ;
 stat: string;

begin
form2.Show;
form2.FormStyle:=fsStayOnTop;
edit1.PasteFromClipboard;
edit1.Text:=edit1.text +' ';
stat:= Copy(edit1.text, 1, Pos(' ',edit1.Text)-1);
Mylink:= MySite + '/' + stat ;
combobox1.Text :=mylink;
webbrowser1.Navigate(combobox1.text);

end;



procedure TForm2.FormCreate(Sender: TObject);
begin
   ID_HK:= GlobalAddAtom('MyHotKey');
   RegisterHotKey(Handle, ID_HK, MOD_CONTROL, VK_Up);

end;

procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  UnRegisterHotKey(Handle,ID_HK);
  DeleteAtom(ID_HK);

end;

end.
весь код

Последний раз редактировалось Stilet; 17.06.2010 в 13:49.
waterya вне форума Ответить с цитированием
Старый 17.06.2010, 13:09   #12
MaxNik2009
Форумчанин
 
Аватар для MaxNik2009
 
Регистрация: 17.09.2009
Сообщений: 294
По умолчанию

вот так надо:
Код:
procedure TForm2.F1(var Message:TMessage); // замени переменную Message на что нибудь другое, например Msg
var
Mylink: string ;
stat: string;
begin
  if Message.HotKey = ID_HK then  // тут тоже поменяй Message на Msg
  begin
    form2.Show;
    form2.FormStyle:=fsStayOnTop;
     edit1.PasteFromClipboard; 
     edit1.Text:=edit1.text +' ';
     stat:= Copy(edit1.text, 1, Pos(' ',edit1.Text)-1);
     Mylink:= MySite + '/' + stat ;
     combobox1.Text :=mylink;
     webbrowser1.Navigate(combobox1.text );
   end;
inherited;

end;
принимаю благодарности в письменном виде( весы слева)...

Последний раз редактировалось MaxNik2009; 17.06.2010 в 13:16.
MaxNik2009 вне форума Ответить с цитированием
Старый 17.06.2010, 13:41   #13
waterya
Пользователь
 
Регистрация: 24.10.2009
Сообщений: 23
По умолчанию

Undeclared identifier: 'Hotkey'
Declaration expected but 'INHERITED' found

видит вот эти 2 ошибки. я бы исправил, но я не знаю что такое inherit и как обьявить hotkey ...
waterya вне форума Ответить с цитированием
Старый 17.06.2010, 13:46   #14
MaxNik2009
Форумчанин
 
Аватар для MaxNik2009
 
Регистрация: 17.09.2009
Сообщений: 294
По умолчанию

Код:
procedure TForm2.F1(var Msg: TWMHotKey);// поменяй класс
var
Mylink: string ;
stat: string;
begin
  if Msg.HotKey = ID_HK then  // тут тоже поменяй Message на Msg
  begin
    form2.Show;
    form2.FormStyle:=fsStayOnTop;
     edit1.PasteFromClipboard; 
     edit1.Text:=edit1.text +' ';
     stat:= Copy(edit1.text, 1, Pos(' ',edit1.Text)-1);
     Mylink:= MySite + '/' + stat ;
     combobox1.Text :=mylink;
     webbrowser1.Navigate(combobox1.text );
   end;
inherited; // Используется для вызова родительского класса

end;
принимаю благодарности в письменном виде( весы слева)...

Последний раз редактировалось MaxNik2009; 17.06.2010 в 13:51.
MaxNik2009 вне форума Ответить с цитированием
Старый 17.06.2010, 13:55   #15
waterya
Пользователь
 
Регистрация: 24.10.2009
Сообщений: 23
По умолчанию

Inherited - ни в какую ни принимает, а без него программа работает так же , как раньше - 1 раз горячая клавиша сработает - а потом все.
waterya вне форума Ответить с цитированием
Старый 17.06.2010, 13:59   #16
MaxNik2009
Форумчанин
 
Аватар для MaxNik2009
 
Регистрация: 17.09.2009
Сообщений: 294
По умолчанию

Крепи архив со своим обработчиком, я посмотрю.
P.S. проверь что бы inheruted был внутри процедуры F1!!!
принимаю благодарности в письменном виде( весы слева)...

Последний раз редактировалось MaxNik2009; 17.06.2010 в 14:05.
MaxNik2009 вне форума Ответить с цитированием
Старый 17.06.2010, 14:55   #17
waterya
Пользователь
 
Регистрация: 24.10.2009
Сообщений: 23
По умолчанию

Мне кажется я не правильно сделал это действие
form2.Show;
form2.FormStyle:=fsStayOnTop;
edit1.PasteFromClipboard;
edit1.Text:=edit1.text +' ';
stat:= Copy(edit1.text, 1, Pos(' ',edit1.Text)-1);
Mylink:= MySite + '/' + stat ;
combobox1.Text :=mylink;
webbrowser1.Navigate(combobox1.text ) ;

Может я неправильно обьяснил что мне надо. Смотрите когда запускается программа окно не видно. Я копирую в буфер обмена слова, нажимаю ctrl+up и он у меня идет в браузер, созданный в дельфи и открывает сайт. Но, когда я копирую еще раз и нажимаю ctrl + up он уже не работает. Может надо зациклить? или что то такое.
waterya вне форума Ответить с цитированием
Старый 17.06.2010, 15:24   #18
waterya
Пользователь
 
Регистрация: 24.10.2009
Сообщений: 23
По умолчанию

Решил проблему, но странным образом. Я создал еще одну форму в которой только и был web browsers и все заработало
waterya вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
удаление строки с ячейкой, которая повторяется Aneli Microsoft Office Excel 15 25.03.2010 17:18
выполнить действие. IVANSour Общие вопросы Delphi 6 01.02.2009 22:53
Действие с предложением в массиве StudentPolitech Помощь студентам 2 26.12.2008 03:17