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

Forum für alles rund um die MSEide und MSEgui

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

Beitragvon Soner » 31. Jan 2017, 19:42 [ERLEDIGT] Wie kann man Form-Handle(HWND) für ...

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 31. Jan 2017, 19:59, insgesamt 1-mal geändert.
Soner
 
Beiträge: 372
Registriert: 26. Sep 2012, 23:07
Wohnort: Hamburg
OS, Lazarus, FPC: Win7Pro-32Bit, Immer letzte Lazarus Release mit SVN-Fixes | 
CPU-Target: 32Bit
Nach oben

Beitragvon Soner » 31. Jan 2017, 19:45 Re: Wie kann man Form-Handle(HWND) für Winapi-aufruf bekomme

Und wie kann man autoscroll von Formularen abstellen?
Soner
 
Beiträge: 372
Registriert: 26. Sep 2012, 23:07
Wohnort: Hamburg
OS, Lazarus, FPC: Win7Pro-32Bit, Immer letzte Lazarus Release mit SVN-Fixes | 
CPU-Target: 32Bit
Nach oben

Beitragvon Mathias » 31. Jan 2017, 19:50 Re: Wie kann man Form-Handle(HWND) für Winapi-aufruf bekomme

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 gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 3262
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Soner » 31. Jan 2017, 19:58 Re: Wie kann man Form-Handle(HWND) für Winapi-aufruf bekomme

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:
Soner
 
Beiträge: 372
Registriert: 26. Sep 2012, 23:07
Wohnort: Hamburg
OS, Lazarus, FPC: Win7Pro-32Bit, Immer letzte Lazarus Release mit SVN-Fixes | 
CPU-Target: 32Bit
Nach oben

Beitragvon mse » 1. Feb 2017, 08:42 Re: [ERLEDIGT] Wie kann man Form-Handle(HWND) für ...

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.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
mse
 
Beiträge: 1713
Registriert: 16. Okt 2008, 09:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.4.2,git master FPC 3.0,fixes_3_0) | 
CPU-Target: x86,x64,ARM
Nach oben

Beitragvon mse » 2. Feb 2017, 08:14 Re: [ERLEDIGT] Wie kann man Form-Handle(HWND) für ...

GitLab funktioniert wieder:
https://gitlab.com/mseide-msegui/mseide-msegui
https://gitlab.com/mseide-msegui/mseuniverse
"rm -Rvf" ist ein scharfes Messer. ;-)
mse
 
Beiträge: 1713
Registriert: 16. Okt 2008, 09:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.4.2,git master FPC 3.0,fixes_3_0) | 
CPU-Target: x86,x64,ARM
Nach oben

Beitragvon Soner » 2. Feb 2017, 20:26 Re: [ERLEDIGT] Wie kann man Form-Handle(HWND) für ...

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: 372
Registriert: 26. Sep 2012, 23:07
Wohnort: Hamburg
OS, Lazarus, FPC: Win7Pro-32Bit, Immer letzte Lazarus Release mit SVN-Fixes | 
CPU-Target: 32Bit
Nach oben

Beitragvon Soner » 2. Feb 2017, 21:40 Re: [ERLEDIGT] Wie kann man Form-Handle(HWND) für ...

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: 372
Registriert: 26. Sep 2012, 23:07
Wohnort: Hamburg
OS, Lazarus, FPC: Win7Pro-32Bit, Immer letzte Lazarus Release mit SVN-Fixes | 
CPU-Target: 32Bit
Nach oben

Beitragvon Soner » 2. Feb 2017, 23:13 Re: [ERLEDIGT] Wie kann man Form-Handle(HWND) für ...

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;
 
Soner
 
Beiträge: 372
Registriert: 26. Sep 2012, 23:07
Wohnort: Hamburg
OS, Lazarus, FPC: Win7Pro-32Bit, Immer letzte Lazarus Release mit SVN-Fixes | 
CPU-Target: 32Bit
Nach oben

Beitragvon mse » 3. Feb 2017, 06:42 Re: [ERLEDIGT] Wie kann man Form-Handle(HWND) für ...

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 3. Feb 2017, 10:09, insgesamt 1-mal geändert.
mse
 
Beiträge: 1713
Registriert: 16. Okt 2008, 09:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.4.2,git master FPC 3.0,fixes_3_0) | 
CPU-Target: x86,x64,ARM
Nach oben

Beitragvon mse » 3. Feb 2017, 06:53 Re: [ERLEDIGT] Wie kann man Form-Handle(HWND) für ...

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
mse
 
Beiträge: 1713
Registriert: 16. Okt 2008, 09:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.4.2,git master FPC 3.0,fixes_3_0) | 
CPU-Target: x86,x64,ARM
Nach oben

Beitragvon Soner » 8. Feb 2017, 23:09 Re: [ERLEDIGT] Wie kann man Form-Handle(HWND) für ...

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
Soner
 
Beiträge: 372
Registriert: 26. Sep 2012, 23:07
Wohnort: Hamburg
OS, Lazarus, FPC: Win7Pro-32Bit, Immer letzte Lazarus Release mit SVN-Fixes | 
CPU-Target: 32Bit
Nach oben

• Themenende •

Zurück zu MSEide und MSEgui



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

porpoises-institution
accuracy-worried