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ę.

- Rejestracja:ponad 6 lat
- Ostatnio:8 miesięcy
- Postów:28
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?

- Rejestracja:około 20 lat
- Ostatnio:9 dni
- Postów:353
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;

- Rejestracja:ponad 6 lat
- Ostatnio:8 miesięcy
- Postów:28
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ę?


- Rejestracja:ponad 6 lat
- Ostatnio:8 miesięcy
- Postów:28
greenmag napisał(a):
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:;"


- Rejestracja:ponad 13 lat
- Ostatnio:około 6 godzin
- Lokalizacja:Tuchów
- Postów:12175
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.
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.