GetWindowRect

Windowsspezifisches Forum , API ,..
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
Martin66119
Beiträge: 282
Registriert: 03.01.2005 11:36

GetWindowRect

Beitrag von Martin66119 »

Guten Morgen an alle!

Kann mir mal bitte jemand an einem kleinem Beispiel erklärne wie man z.B. API-Funktion in PB verwendet.

Declare Function GetWindowRect Lib "user32.dll" (ByVal hwnd As Long, _
lpRect As RECT) As Long

Danke für die Hilfe
Martin
Benutzeravatar
PureLust
Beiträge: 1145
Registriert: 21.07.2005 00:02
Computerausstattung: Hab aktuell im Grunde nur noch 'nen Lenovo Yoga 2 Pro im Einsatz.
Wohnort: am schönen Niederrhein

Beitrag von PureLust »

In PB brauchst Du API Funktionen nicht extra einzubinden oder zu deklarieren.

Um eine API-Funktion zu verwenden fügst Du hinter ihrem Namen einfach einen Unterstrich "_" an.

z.B.: GetWindowRect_(hWnd, lpRect)
[Dynamic-Dialogs] - komplexe dynamische GUIs einfach erstellen
[DeFlicker] - Fenster flimmerfrei resizen
[WinFX] - Window Effekte (inkl. 'durchklickbares' Window)
Benutzeravatar
mpz
Beiträge: 505
Registriert: 14.06.2005 15:53
Computerausstattung: Win 11 Pro, 48 GB Ram, Intel I7 CPU und RX4070 Grafikkarte, PB (4/5) 6.12LT
Wohnort: Berlin, Tempelhof

Beitrag von mpz »

Hey,

ein Code sagt mehr als tausend Worte.

Kleiner Tipp, "Win32.hlp" suchen und im Purebasic\help Verzeichnis reinkopieren. Schon wird bei "GetWindowRect_" die entsprechende Hilfe über Purebasic angezeigt...

Gruß Michael

Code: Alles auswählen

If OpenWindow(0, 0, 0, 200, 200, "Testfenster", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  
  WindowRect.RECT ; WindowRect als RECT Struktur definieren  

  GetWindowRect_(WindowID(0), WindowRect) ; Hier isse
 
  Debug WindowRect\left 
  Debug WindowRect\top
  Debug WindowRect\right 
  Debug WindowRect\bottom

  Repeat 
    Event = WaitWindowEvent(500) 
  Until Event = #PB_Event_CloseWindow 
EndIf
Working on :lol: - LibSGD - MP3D Engine - 8)
pede
Beiträge: 90
Registriert: 08.07.2007 20:37
Wohnort: brixen / Italien

Tipp

Beitrag von pede »

zum Tipp...

wo soll ich das Win32.hlp reinkopieren?
bei mir gibts nur folgenden Ordner:
Catalogs
Compilers
Debugger
Examples
Libary SDK
PureLibaries
Resident
Subsystems...
"oh... ein Sarkasmus-Detektor... ein wirklich nützliches Gerät" .. dit.. dit.. ditditdit.. *bumm*
Benutzeravatar
HeX0R
Beiträge: 3042
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Re: Tipp

Beitrag von HeX0R »

pede hat geschrieben:zum Tipp...

wo soll ich das Win32.hlp reinkopieren?
bei mir gibts nur folgenden Ordner:
Catalogs
Compilers
Debugger
Examples
Libary SDK
PureLibaries
Resident
Subsystems...
Es mag jetzt völlig abwegig klingen, aber man kann auch Ordner erstellen ;)
pede
Beiträge: 90
Registriert: 08.07.2007 20:37
Wohnort: brixen / Italien

Beitrag von pede »

auch das hab ich schon probiert, hat auch nichts gebracht!

und was mich noch mehr wundert:
Bei z.b.

Code: Alles auswählen

RegCloseKey()
wird die Hilfe (hKey) IMMER angezeigt, auch wenn ich keine Hilfedatei im Ordner ist!

Bei z.b

Code: Alles auswählen

RegCreateKey_()
wird NIE eine Hilfe angezeigt...

so ist das mit viele Befehlen aus der WinApi...
"oh... ein Sarkasmus-Detektor... ein wirklich nützliches Gerät" .. dit.. dit.. ditditdit.. *bumm*
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Warum soll auch für WinAPI Befehle die interne PB Hilfe aufegehen? :freak:
Windows 10 Pro, 64-Bit / Outtakes | Derek
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

also, du erstellst ein verzeichnis "Help" im PB verzeichnis, und da kopierst du die win32.hlp rein.

es gibt aber wesentlich mehr API-Befehle, als in der drin stehen,
also im zweifelsfall musst du dann doch auf der MSDN suchen.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Wenn Du eine Flatrate hast, würde ich zum PSDK raten, das funktioniert auch mit der IDE Kontextsensitiv. Download z.B. hier:
http://www.microsoft.com/msdownload/pla ... k-full.htm
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
pede
Beiträge: 90
Registriert: 08.07.2007 20:37
Wohnort: brixen / Italien

Beitrag von pede »

:freak: :freak: :freak:

jetzt funzt alles
die PSDK lad ich "schnell" runter.

Danke für die Tipps...
"oh... ein Sarkasmus-Detektor... ein wirklich nützliches Gerät" .. dit.. dit.. ditditdit.. *bumm*
Antworten