Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TImage [D7, 2000, XP]


AlexCAHEK ©   (2010-04-02 13:13:00) 

Объясните недоучу! Как перемещать окно, если оно вырезано по картинке и не имеет формы? Тогда как TImage1.Visible := false; окно передвигается но ничего нет кроме кнопок,а когда true ничё не шевелится


AlexCAHEK   (2010-04-02 15:19:00) [1]

Блин, респект вам парни! Дайте совет неопытному!


Anatoly Podgoretsky   (2010-04-02 15:18:00) [2]

> AlexCAHEK  (02.04.2010 15:09:12)  [12]

За приколы бьют по морде и здесь это тоже не приветсвуется


Anatoly Podgoretsky   (2010-04-02 15:17:00) [3]

> AlexCAHEK  (02.04.2010 14:50:07)  [7]

А как она подключена, вот так можно и отключить.


Anatoly Podgoretsky   (2010-04-02 15:16:00) [4]

> Jeer  (02.04.2010 14:42:04)  [4]

А можно нахамить так, чтоб субъект не догадался?


oldman   (2010-04-02 15:12:00) [5]


> AlexCAHEK ©   (02.04.10 15:09) [12]


Когда бить придут - вот будет прикол!
:)))


Сергей М.   (2010-04-02 15:11:00) [6]


> Пишу программу - прикол


Опоздал ты с "приколами)
день Дурака уже прошел)


Jeer   (2010-04-02 15:10:00) [7]


> AlexCAHEK ©   (02.04.10 14:45) [6]
>
> Можно


Спасибо, постараюсь вежливо:

private
{ Private declarations }
procedure WMNCHitTest (var M:TWMNCHitTest);message wm_NCHitTest;

//***

implementation
{$R *.DFM}

procedure TForm1.WMNCHitTest (var M:TWMNCHitTest);
begin
 inherited;
 if M.Result=htClient then M.Result:=htCaption;
end;


AlexCAHEK   (2010-04-02 15:09:00) [8]

Огромное спасибо!!! Пишу программу - прикол, с отключением клавиш. Заодно <Alt>+<f4> несработает. В процессах и на панели её тож естественно нет.


Сергей М.   (2010-04-02 14:55:00) [9]

> Как можно отключить определенную клавишу

Чем она тебе помешала ?


И. Павел   (2010-04-02 14:54:00) [10]

Ebents -> Events


Омлет   (2010-04-02 14:54:00) [11]

type
 TForm1 = class(TForm)
   procedure FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
   procedure FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
   procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
 private
   fDown: Boolean;
   fPos: TPoint;
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
 if Button = mbLeft then
 begin
   fDown := True;
   fPos := Point(x, y);
 end;
end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
 if fDown then
 begin
   SetBounds(Left - (fPos.x - x), Top - (fPos.y - y), Width, Height);
//    fPos := Point(x, y);
 end;
end;

procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
 if Button = mbLeft then
   fDown := False;
end;

</


И. Павел   (2010-04-02 14:54:00) [12]

Перехватывайте ее в ApplicationEbents и обнуляйте.


AlexCAHEK   (2010-04-02 14:50:00) [13]

Ок! Недогадался! Еще вопрос. Как можно отключить определенную клавишу, на время работы проги, например vk_f4?


AlexCAHEK   (2010-04-02 14:45:00) [14]

Можно


И. Павел   (2010-04-02 14:44:00) [15]

> [3] AlexCAHEK ©

Назначьте указанный мной в [1] обработчики на события OnMouseDown для формы и для Image. Так должно перетаскиваться.


Jeer   (2010-04-02 14:42:00) [16]


> Надеюсь на вашу помощь


А можно вежливо нахамить ? :)


AlexCAHEK   (2010-04-02 14:39:00) [17]

Строки заголовка нет, только клиентская часть. Я указал переменную dragging,
создал обработчик события OnMouseDown и Move и Up. Вроде все как нужно. Но окно все равно не перемещается, только когда картинка скрыта. Надеюсь на вашу помощь


И. Павел   (2010-04-02 13:19:00) [18]

Преформулируйте -> переформулируйте


И. Павел   (2010-04-02 13:17:00) [19]

Преформулируйте, пожалуйста, вопрос. А то я ничего не понял :) Может быть на форме нет заголовка, и ее нужно перетаскивать? Если да, то так:


> procedure TForm1.FormMouseDown(Sender: TObject; Button:
> TMouseButton;
>   Shift: TShiftState; X, Y: Integer);
> const
>   SC_DragMove = $F012;
> begin
>   ReleaseCapture;
>   self.Perform(WM_SysCommand, SC_DragMove, 0);
> end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо