![]() |
TMonthCalendar + Drag&Drop
Hi Leute,
also ich habe da so ein klitzekleines Problem: eine kleine Terminverwaltung mit einem TMonthCalendar und ein TListView, das zu jedem gewählten Tag die eingetragenen Termine anzeigt. Soweit so gut - jetzt würde ich allerdings gerne einen Termin mit Drag&Drop aus dem TListView zu einem anderen Tag verschieben können..also einfach über den gewünschten Tag im TMonthCalendar ziehen und dann wird das dorthin verschoben (soweit an dem Tag zu der Uhrzeit nicht schonwas belegt ist - aber das ist ja ein anderes Problem). (gespeichert wird alles in einer mysql datenbank) So oder so, mein Problem im Moment ist erstmal: wie bekomme ich heraus, über welchem Kalendertag ich mich beim "draggen" gerade befinde; sowas wie die GetItemAt Funktion des TListView. danke schonmal für die hilfe, rudi |
Re: TMonthCalendar + Drag&Drop
schon gut, habs selbst rausgefunden
ist vieleicht nicht optimal, aber funtkioniert einwandfrei...das hätten die Delphi Leutchen ruhig mal direkt mit implementieren können: dafür benötigt man die unit CommCtrl (nicht zu verwechseln mit ComCtrls, aus der TMonthCalendar stammt)
Delphi-Quellcode:
inf.pt ist halt vom typ TPoint und da sollten dann schon die Drop-Koordinaten rein
procedure TSchedMain.calendarDragDrop(Sender, Source: TObject; X,
Y: Integer); var inf: MCHITTESTINFO; datestr: string; begin inf.pt.X := X; inf.pt.Y := Y; inf.cbSize := sizeOf(inf); MonthCal_HitTest(calendar.Handle,inf); datestr :=inttostr(inf.st.wYear)+'-'+inttostr(inf.st.wMonth)+'-'+inttostr(inf.st.wDay)+' '+inttostr(TListView(Source).selected.Index+9)+':00:00'; inf.st ist vom Typ _SYSTEMTIME, was wiederrum ein record mit der Zeitinfo darstellt also wunderbar gelöst ;) hat auch lange genug gedauert :wall: und für alle die es wissen wollen: hier die funktion aus der CommCtrl:
Delphi-Quellcode:
function MonthCal_HitTest(hmc: HWND; var info: TMCHitTestInfo): DWORD;
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:15 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz