[ERLEDIGT] Wie kann man Form-Handle(HWND) für ...

Forum für alles rund um die MSEide und MSEgui
Antworten
Soner
Beiträge: 623
Registriert: Do 27. Sep 2012, 00:07
OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
CPU-Target: x86_64-win64
Wohnort: Hamburg

[ERLEDIGT] Wie kann man Form-Handle(HWND) für ...

Beitrag von Soner »

Ich will Dateidrop von Explorer machen, dafür brauche ich HWND vom Form.
Genauer für den DragAcceptFiles brauche ich den Handle (HWND) wie bekommt man es? Es gibt kein Handle-Eigenschaft bei VCL/LCL.
Zuletzt geändert von Soner am Di 31. Jan 2017, 19:59, insgesamt 1-mal geändert.

Soner
Beiträge: 623
Registriert: Do 27. Sep 2012, 00:07
OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
CPU-Target: x86_64-win64
Wohnort: Hamburg

Re: Wie kann man Form-Handle(HWND) für Winapi-aufruf bekomme

Beitrag von Soner »

Und wie kann man autoscroll von Formularen abstellen?

Mathias
Beiträge: 6165
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Wie kann man Form-Handle(HWND) für Winapi-aufruf bekomme

Beitrag von Mathias »

Soner hat geschrieben:Und wie kann man autoscroll von Formularen abstellen?

Autoscroll von Formularen ?
Ich habe nicht mal Scrollbalken bei meinen Formularen.

Wie kann man Form-Handle(HWND) für Winapi-aufruf bekomme

ZB- so:

Code: Alles auswählen

ShowMessage(IntToStr(Handle)); 
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Soner
Beiträge: 623
Registriert: Do 27. Sep 2012, 00:07
OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
CPU-Target: x86_64-win64
Wohnort: Hamburg

Re: Wie kann man Form-Handle(HWND) für Winapi-aufruf bekomme

Beitrag von Soner »

Ich meine natürlich für MSEGUI.
Aber vergeßt es das ist Zeitverschwendung. Der Thread kann gelösch werden.

Ich habe mich wieder vom Teufel verführen lassen :lol:

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: [ERLEDIGT] Wie kann man Form-Handle(HWND) für ...

Beitrag von mse »

Soner hat geschrieben:Ich will Dateidrop von Explorer machen, dafür brauche ich HWND vom Form.
Genauer für den DragAcceptFiles brauche ich den Handle (HWND) wie bekommt man es? Es gibt kein Handle-Eigenschaft bei VCL/LCL.

Das ist die Eigenschaft TWidget.Window.WinID.
Drag and Drop wird z.B. mit TForm.DragDock verwaltet, siehe dragdock.png. Ein Beispiel ist hier:
https://sourceforge.net/p/mseuniverse/g ... ts/sysdnd/
Klicke in die rote Fläche aber nicht in den Text "SOURCE", da war eine Regression; oder benutze MSEgui git master Version 47f0104cd3da09ccbcb80bcb279babb7784539f3 von hier:
https://sourceforge.net/p/mseide-msegui ... ster/tree/
GitLab hat im Moment Probleme.

Edit: und zwar happige:
https://docs.google.com/document/d/1GCK ... jHdVik/pub
Da zeigt sich wieder einmal der Vorteil von git, ich konnte problemlos von meinem lokalen Repo git auf Sourceforge updaten.

Und wie kann man autoscroll von Formularen abstellen?

Rollbalken sind Bestandteil von Container.Frame, -> sbvert/sbhorz.options sbo_showauto auf False setzen, siehe scrollbar.png.
Dateianhänge
scrollbar.png
scrollbar.png
dragdock.png
dragdock.png

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: [ERLEDIGT] Wie kann man Form-Handle(HWND) für ...

Beitrag von mse »

GitLab funktioniert wieder:
https://gitlab.com/mseide-msegui/mseide-msegui
https://gitlab.com/mseide-msegui/mseuniverse
"rm -Rvf" ist ein scharfes Messer. ;-)

Soner
Beiträge: 623
Registriert: Do 27. Sep 2012, 00:07
OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
CPU-Target: x86_64-win64
Wohnort: Hamburg

Re: [ERLEDIGT] Wie kann man Form-Handle(HWND) für ...

Beitrag von Soner »

mse hat geschrieben:Das ist die Eigenschaft TWidget.Window.WinID.
Drag and Drop wird z.B. mit TForm.DragDock verwaltet, siehe dragdock.png. Ein Beispiel ist hier:
https://sourceforge.net/p/mseuniverse/g ... ts/sysdnd/
Klicke in die rote Fläche aber nicht in den Text "SOURCE", da war eine Regression; oder benutze MSEgui git master Version 47f0104cd3da09ccbcb80bcb279babb7784539f3 von hier:
https://sourceforge.net/p/mseide-msegui ... ster/tree/
GitLab hat im Moment Probleme.

Danke,
genau das habe ich gesucht. Ich verwende generell Dateidialoge selten, nur bei Speichern mit neuem Namen.
Ich wollte mal schauen wie "leistungsfähig" dein MSEGUI bei Grafikausgabe ist, und dein MSEGUI kennenlern. Mein einfaches "Grafikviewer" läuft mit LCL langsmer als mit TurboDelphi 2006, obwohl die Jungs von Graphics32 gleiche WindowsApi Aufrufe verwenden.

mse hat geschrieben:Rollbalken sind Bestandteil von Container.Frame, -> sbvert/sbhorz.options sbo_showauto auf False setzen, siehe scrollbar.png.

Das habe ich letztes jahr wie verrückt gesucht, alle Eingeschaften durchprobiert half nichts.

mse hat geschrieben:..
https://sourceforge.net/p/mseide-msegui ... ster/tree/
GitLab hat im Moment Probleme.

Edit: und zwar happige:
https://docs.google.com/document/d/1GCK ... jHdVik/pub
Da zeigt sich wieder einmal der Vorteil von git, ich konnte problemlos von meinem lokalen Repo git auf Sourceforge updaten.

Ich verwende online repositories nicht. Ich lade von dor nur herunter. Ich habe nur mobiles Internet mit mit maximalen 64 kb/s . Ich lebe in den 90ern :lol:

Ich werde das Wochende näher anschauen. Ich muß erst Lazarus-Packages für MSEGUI machen, sodass ich Lazarus als Editor und dein IDE nur als Designer verwende.
Quellttextvervollständigen fehlt sehr, mit Quelltextvervollständigen hätte man Window.WinID finden können.

Soner
Beiträge: 623
Registriert: Do 27. Sep 2012, 00:07
OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
CPU-Target: x86_64-win64
Wohnort: Hamburg

Re: [ERLEDIGT] Wie kann man Form-Handle(HWND) für ...

Beitrag von Soner »

Ich habe aus mseuniverse einiges angeschaut unter dem repaz-demo. Es ist ja nicht schlecht.
Was macht der Sri Wahono verwendet er noch msegui/mseide?

Ich musste drei Zeilen ändern damit repaz-demo kompiliert. Es ist kein richtige Lösung, aber falls du wissen willst wo die Fehler sind, dann hier hast du sie:

Code: Alles auswählen

 
//repaz/universalprinter.pas ------------------------------
     pdev^.dmFormName := fpapers[fpaperindex].name;//soner orginial: pbyte(fpapers[fpaperindex].name);
 
//repaz/frmevaldialog.pas ---------------------------------
// Das ist kein Korrektur, es ist nur "zurecht biegen" damit es kompiliert wird!
procedure tfrmevaldialogfo.clearbrackets;
var anull: markinfoty; //soner added
begin
 //...
    fbracket2:= invalidcell;
    if syntaxpainterhandle >= 0 then begin     
     //syntaxpainter.boldchars[syntaxpainterhandle]:= nil;  //soner deactivated compiler error: Got "gridcoordarty expected ..":
      // und .boldchars ist auch kein zeiger
      syntaxpainter.boldchars[syntaxpainterhandle]:= anull;
    end;
//....
end;
 
procedure tfrmevaldialogfo.checkbrackets;
var
//....
 ar1: gridcoordarty;
 anull: markinfoty; //soner added
begin
//....
    ar1[1]:= fbracket2;
    //soner wie oben: syntaxpainter.boldchars[syntaxpainterhandle]:= ar1;
   //soner: es muss sich der Type von boldchars geändert haben, ist ja nur zu Testzweck
    syntaxpainter.boldchars[syntaxpainterhandle]:= anull;  //soner added
    refreshsyntax(fbracket1.row,1);
//...
end;
 

Soner
Beiträge: 623
Registriert: Do 27. Sep 2012, 00:07
OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
CPU-Target: x86_64-win64
Wohnort: Hamburg

Re: [ERLEDIGT] Wie kann man Form-Handle(HWND) für ...

Beitrag von Soner »

Bei Videoplayerdemo und addon\videoplayer muss auch ein paar sachen gemacht werden damit es kompiliert. Ich musste auch als Komponente installieren und demoformular neu speichern damit ein Paar ungültige Eingeschaften gelöscht werden. (tazplayer1.optionswidget....)
Es läuft aber sehr gut nur sound und anti-aliasing bei vergrößerung fehlen.

Code: Alles auswählen

 
// addons/videoplayer/azvideoplayer.pas
unit azvideoplayer;
// ...
interface
uses   
 mseclasses,classes,mclasses, //Diese hinzugefügt.
 
type
 //..
 tazvideoplayer = class(tpublishedwidget,istatfile)
    function getstatpriority: integer; //soner neu in istatfile.pas
   //...
 end.
 
implementation
//...
{ tazvideoplayer }
function  tazvideoplayer.getstatpriority: integer; //soner neu in istatfile.pas
begin
 result:=0; //soner keine was geliefert werden soll, 0 ist immer gut.
end;
 
 
constructor tazvideoplayer.create(aowner: tcomponent);
begin
//..
 ffirsttime:= true;
 fbmp:= tmaskedbitmap.create(bmk_rgb); //soner war: false);
//...
end;
 

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: [ERLEDIGT] Wie kann man Form-Handle(HWND) für ...

Beitrag von mse »

Soner hat geschrieben:Das habe ich letztes jahr wie verrückt gesucht, alle Eingeschaften durchprobiert half nichts.

Einfach fragen! :-)
Was macht der Sri Wahono verwendet er noch msegui/mseide?

Ja, offensichtlich sehr erfolgreich. Das ist das Produkt von Sri, gemacht mit MSEide+MSEgui:
http://www.acosys.co.id/screenshot
Du kannst die Änderungen an den Demos gerne selbst einpflegen, bitte registriere dich auf GitLab und schicke mir den Username:
https://gitlab.com/users/sign_in
Für die Arbeit mit git gibt es das praktische MSEgit-Frontend:
https://gitlab.com/mseide-msegui/mseuni ... ols/msegit
Zuletzt geändert von mse am Fr 3. Feb 2017, 10:09, insgesamt 1-mal geändert.

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: [ERLEDIGT] Wie kann man Form-Handle(HWND) für ...

Beitrag von mse »

Soner hat geschrieben:Bei Videoplayerdemo und addon\videoplayer muss auch ein paar sachen gemacht werden damit es kompiliert. Ich musste auch als Komponente installieren und demoformular neu speichern damit ein Paar ungültige Eingeschaften gelöscht werden. (tazplayer1.optionswidget....)
Es läuft aber sehr gut nur sound und anti-aliasing bei vergrößerung fehlen.

AFAIK benutzt das Videoplayer-Demo von Sri die normalen MSEgui TCanvas Funktionen. Um Antialiasing beim Stretchen einzuschalten kann in der "Alignment" Eigenschaft al_intpol gesetzt werden.
Ein weiterer Videoplayer gemacht mit MSEide+MSEgui ist XelPlayer von Alexandre:
http://zenway.ru/page/xelplayer

Soner
Beiträge: 623
Registriert: Do 27. Sep 2012, 00:07
OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
CPU-Target: x86_64-win64
Wohnort: Hamburg

Re: [ERLEDIGT] Wie kann man Form-Handle(HWND) für ...

Beitrag von Soner »

Danke für Infos. Momenten bin ich sehr beschäftigt, vielleicht in Paar Monaten wenn ich Zeit habe.

Falls jemand sich für MSEide/MSEgui interessiert hier sind auch gute Informationen:
http://wiki.freepascal.org/Category:MSEide%2BMSEgui

Antworten