Delphi 7 Lazarus BMP jak pasek - uchwyt okna

Delphi 7 Lazarus BMP jak pasek - uchwyt okna
Dodeq
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 28
0

Dzień dobry,
Mam jeszcze jedno pytanie techniczne czy jest jakieś polecenie albo funckja aby wpisać i bmp z Timage przypisać Właściwości uchwytu okna? żeby można było "złapać bitmape i nią ruszać oknem? To też nie wiem jak się nazywa i jak szukać.
Dziękuję.

cerrato
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Poznań
  • Postów: 9012
0

Opisz proszę jeszcze raz co chcesz osiągnąć, bo nie jestem pewien, czy dobrze zrozumiałem, o co pytasz.
Z tego co zrozumiałem - chcesz, aby użytkownik mógł sobie kliknąć na jakiś obrazek na oknie i go przesuwać, jednocześnie pozostawiając samo okno w tym samym miejscu. Czyli - chcesz przesunąć obrazek na oknie, a nie okno na ekranie. Tak?

greenmag
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 353
0
Kopiuj
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
  begin
    if (Button = mbLeft) then
      begin
        ReleaseCapture;
        SendMessage(Form1.Handle, WM_NCLButtonDown, htCaption, 0 );
      end;
  end;
Dodeq
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 28
0
cerrato napisał(a):

Opisz proszę jeszcze raz co chcesz osiągnąć, bo nie jestem pewien, czy dobrze zrozumiałem, o co pytasz.
Z tego co zrozumiałem - chcesz, aby użytkownik mógł sobie kliknąć na jakiś obrazek na oknie i go przesuwać, jednocześnie pozostawiając samo okno w tym samym miejscu. Czyli - chcesz przesunąć obrazek na oknie, a nie okno na ekranie. Tak?

nie nie. Chciałbym aby np bitmapa w kształcie prostokąta takim jak pasek okna (każdego wyświetlanego z możliwością zmniejszenia, powiększenia na pełny ekran, i zamknięcia X) zastąpiła go. Czy tak da się?

Dodeq
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 28
0
greenmag napisał(a):
Kopiuj
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
  begin
    if (Button = mbLeft) then
      begin
        ReleaseCapture;
        SendMessage(Form1.Handle, WM_NCLButtonDown, htCaption, 0 );
      end;
  end;

czy tu muszę dodać coś? bo nie rozpoznaje tego "ReleaseCapture:;"

flowCRANE
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Tuchów
  • Postów: 12269
1
Dodeq napisał(a):

czy tu muszę dodać coś? bo nie rozpoznaje tego "ReleaseCapture:;"

Dodaj do uses moduł Windows. Pod Lazarusem masz dwie opcje — albo dodać moduł Windows, albo wieloplatformowy LCLIntf, w zależności od tego czy na wieloplatformowości ci zależy.

Dodeq
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 28
0

Bardzo dziękuję. Na razie pytam o podstawy, jak poszerzę swoją wiedzę z czasem podpytam o wieloplatformowość.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.