WinAPI Library (Snippets) (1163 Beispielcodes)

Windowsspezifisches Forum , API ,..
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
Andesdaf
Moderator
Beiträge: 2671
Registriert: 15.06.2008 18:22
Wohnort: Dresden

Re: WinAPI Library (Snippets) (493)

Beitrag von Andesdaf »

Schön dass sie wieder da ist.
(auch wenn mich der Popup zur Weißglut bringt :evil: )
Win11 x64 | PB 6.20
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: WinAPI Library (Snippets) (493)

Beitrag von RSBasic »

Stört dich so sehr? (Wollte ein bisschen mit Ads verdienen.^^)
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Andesdaf
Moderator
Beiträge: 2671
Registriert: 15.06.2008 18:22
Wohnort: Dresden

Re: WinAPI Library (Snippets) (493)

Beitrag von Andesdaf »

RSBasic hat geschrieben:Stört dich so sehr? (Wollte ein bisschen mit Ads verdienen.^^)
Ne, die Dinger haben es sich bloß angewöhnt, bei einem Klick auf Schließen
ein Fenster in den Hintergrund zu öffnen. :freak:
Win11 x64 | PB 6.20
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: WinAPI Library (Snippets) (493)

Beitrag von RSBasic »

OKay, dann werd ich das ändern, dass es nach dem Schließen kein neues Fenster geöffnet wird.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
Josef Sniatecki
Beiträge: 657
Registriert: 02.06.2008 21:29
Kontaktdaten:

Re: WinAPI Library (Snippets) (493)

Beitrag von Josef Sniatecki »

Super, dass die Homepage wieder oben ist. :allright:

Habe hier ein bisschen Code für dich...
Status von "Caps Lock", "Scroll Lock" und "Num Lock" ermitteln:

Code: Alles auswählen

Procedure.i IsCapsLock()
  ProcedureReturn GetKeyState_(#VK_CAPITAL)
EndProcedure
Procedure.i IsNumLock()
  ProcedureReturn GetKeyState_(#VK_NUMLOCK)
EndProcedure
Procedure.i IsScrollLock()
  ProcedureReturn GetKeyState_(#VK_SCROLL)
EndProcedure

Procedure.s OnOff(State.i)
  If State
    ProcedureReturn "ON"
  Else
    ProcedureReturn "OFF"
  EndIf
EndProcedure

OpenWindow(0, #PB_Ignore, #PB_Ignore, 300, 80, "Test", #PB_Window_SystemMenu|#PB_Window_TitleBar)
  TextGadget(0, 5,  5, 150 - 5, 20, "CAPS LOCK:")   : TextGadget(1, 150,  5, 150 - 5, 20, OnOff(IsCapsLock()))
  TextGadget(2, 5, 30, 150 - 5, 20, "SCROLL LOCK:") : TextGadget(3, 150, 30, 150 - 5, 20, OnOff(IsScrollLock()))
  TextGadget(4, 5, 55, 150 - 5, 20, "NUM LOCK:")    : TextGadget(5, 150, 55, 150 - 5, 20, OnOff(IsNumLock()))

Repeat
  Event = WaitWindowEvent()
  If Event = #WM_KEYUP ;Eine Taste wurde gedrückt...
    ; Aktualisieren:
    SetGadgetText(1, OnOff(IsCapsLock()))
    SetGadgetText(3, OnOff(IsScrollLock()))
    SetGadgetText(5, OnOff(IsNumLock()))
  EndIf
Until Event = #PB_Event_CloseWindow
Gruß Josef
PB 4.61 | Windows Vista - 32Bit
Homepage

"Wahrlich es ist nicht das Wissen, sondern das Lernen, nicht das Besitzen sondern das Erwerben, nicht das Dasein, sondern das Hinkommen, was den grössten Genuss gewährt." - Carl Friedrich Gauß
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: WinAPI Library (Snippets) (493)

Beitrag von RSBasic »

@Josef
Vielen Dank für dein Code.
Werd ich beim nächsten Update hinzufügen. :allright:
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
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

Re: WinAPI Library (Snippets) (493)

Beitrag von ts-soft »

Aber das OnOff bitte nicht. Hat nichts mit API zu tun und besonders
nützlich ist die Textrückgabe wohl auch nur selten.

Gruß
Thomas

// edit
Sehe gerade, ist ja nur eine Hilfsfunktion fürs Beispiel, dann solls egal sein.
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
Benutzeravatar
Rudi
Beiträge: 143
Registriert: 22.04.2010 18:28
Wohnort: #PB_Any

Re: WinAPI Library (Snippets) (493)

Beitrag von Rudi »

Mehrzeiliges StringGadget:

Code: Alles auswählen

If OpenWindow(0, 0, 0, 300, 205, "StringGadgetMultiline", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  StringGadget(0, 10, 10, 250, 180, "", #ES_MULTILINE | #ES_AUTOVSCROLL | #WS_VSCROLL  | #ESB_DISABLE_LEFT | #ESB_DISABLE_RIGHT)
  Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
StringGadget mit einem um 1 Pixel versunkenen Rahmen:

Code: Alles auswählen

If OpenWindow(0, 0, 0, 322, 205, "StringGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  StringGadget(0, 8,  10, 306, 20, "1px sunken StringGadget")
  SetWindowLongPtr_(GadgetID(0), #GWL_EXSTYLE, GetWindowLongPtr_(GadgetID(0), #GWL_EXSTYLE) | #WS_EX_STATICEDGE &~ #WS_EX_CLIENTEDGE)
  SetWindowPos_(GadgetID(0), 0, 0, 0, 0, 0, #SWP_NOZORDER | #SWP_NOMOVE | #SWP_NOSIZE | #SWP_FRAMECHANGED)
  Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
Hat jemand solches? (Button 1 Pixel hoch):
Bild
Win7 (x64)PB 5.4x (x86)5,7 Windows-LeistungsindexSuche
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: WinAPI Library (Snippets) (493)

Beitrag von RSBasic »

@Rudi
Danke für die Codes ;)
Rudi hat geschrieben:Hat jemand solches? (Button 1 Pixel hoch):
Bild
Ist das eine Frage nach einer WinAPI, wie man damit so einen flachen Button erstellen kann?
http://www.rsbasic.de/index.php?option= ... &Itemid=59
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
Rudi
Beiträge: 143
Registriert: 22.04.2010 18:28
Wohnort: #PB_Any

Re: WinAPI Library (Snippets) (493)

Beitrag von Rudi »

Ist das eine Frage nach einer WinAPI, wie man damit so einen flachen Button erstellen kann?
Ja richtig, aber alles was ich bisher kenne, auch der hier http://www.rsbasic.de/index.php?option= ... &Itemid=59, sind absolut flach.
Ich dachte an einen Button, welcher noch einen Pixel erhöht erscheint. Wahrscheinlich wird mir am Ende nur noch das Umständliche per Draw bleiben.
Win7 (x64)PB 5.4x (x86)5,7 Windows-LeistungsindexSuche
Antworten