Seite 21 von 43

Re: WinAPI Library (Snippets) (493)

Verfasst: 10.05.2010 15:28
von Andesdaf
Schön dass sie wieder da ist.
(auch wenn mich der Popup zur Weißglut bringt :evil: )

Re: WinAPI Library (Snippets) (493)

Verfasst: 10.05.2010 15:31
von RSBasic
Stört dich so sehr? (Wollte ein bisschen mit Ads verdienen.^^)

Re: WinAPI Library (Snippets) (493)

Verfasst: 10.05.2010 15:36
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:

Re: WinAPI Library (Snippets) (493)

Verfasst: 10.05.2010 15:43
von RSBasic
OKay, dann werd ich das ändern, dass es nach dem Schließen kein neues Fenster geöffnet wird.

Re: WinAPI Library (Snippets) (493)

Verfasst: 10.05.2010 17:57
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

Re: WinAPI Library (Snippets) (493)

Verfasst: 10.05.2010 18:03
von RSBasic
@Josef
Vielen Dank für dein Code.
Werd ich beim nächsten Update hinzufügen. :allright:

Re: WinAPI Library (Snippets) (493)

Verfasst: 10.05.2010 18:11
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.

Re: WinAPI Library (Snippets) (493)

Verfasst: 12.05.2010 18:47
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

Re: WinAPI Library (Snippets) (493)

Verfasst: 12.05.2010 19:06
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

Re: WinAPI Library (Snippets) (493)

Verfasst: 12.05.2010 19:16
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.