WinAPI mit B3D =)

Übersicht BlitzBasic BlitzPlus

Neue Antwort erstellen

Xenon

Betreff: WinAPI mit B3D =)

BeitragSo, Jun 20, 2004 19:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

gleich mal laden, während ihr das lest und wenn ihr B3D habt: www.future-coding.de/temp/userlibs.zip

Also es geht darum die WinApi unter B3D zu nutzen.

Funktioniert soweit das ich ein fenster erstellen kann und dessen nachrichten empfange.

Allerdings hab ich jetzt ein Edit Feld erstellt.

Das Problem werdet ihr sehen, wenn ihr ins Edit Feld was eingebt, bzw. das wollte, denn es geht nicht!

Die einzige Taste die ich bis jetzt gefunden habe, die Funktioniert ist Entf!

Also bitte helft mir! Sad

An alle dies getestet haben bitte posten, obs auch so is wie bei mir oder anders und ob die Userlib überhaupt geht.

Danke.

Mfg Xenon

[EDIT]

Hier neuer Code, ich glaube is nicht viel unterschied nur sieht man die Messages:

Code: [AUSKLAPPEN]
Include "winuser.bb"

Const ID_EDIT = 1

hInstance = GetModuleHandle(0)

bank = CreateBank(16)

Init(hInstance)

Graphics3D 800, 600, 32, 2

mainhwnd = CreateWindow("Steuerung", 100, 100, 300, 200, 0)

edEdit = CreateWindowEx(WS_EX_CLIENTEDGE, "edit", "Hallo"+Chr(13)+Chr(10)+Chr(13)+Chr(10)+Chr(13)+Chr(10)+Chr(13)+Chr(10)+Chr(13)+Chr(10)+Chr(13)+Chr(10), WS_CHILD Or WS_VISIBLE Or WS_HSCROLL Or WS_VSCROLL Or ES_MULTILINE Or ES_AUTOVSCROLL Or ES_AUTOHSCROLL, 0, 0, 0, 0, mainhwnd, ID_EDIT, hInstance, 0)

lol = GetStockObject(DEFAULT_GUI_FONT)

SendMessage(edEdit, WM_SETFONT, lol, 0)

Repeat
   If RecvMessage(bank) = 1 Then
      hwnd = PeekInt(bank, 0)
      message = PeekInt(bank, 4)
      wParam = PeekInt(bank, 8)
      lParam = PeekInt(bank, 12)
      
      Print hwnd+" | "+message+" | "+wParam+" | "+lParam
      
      Select message
      Case WM_CLOSE
         End
      Case WM_SETFOCUS
         SetFocus(edEdit)
      Case WM_COMMAND
         If LOWORD(wParam) = ID_EDIT Then
            If (HIWORD(wParam) = EN_ERRSPACE) Or (HIWORD(wParam) = EN_MAXTEXT) Then
               MessageBox(mainhwnd, "Edit Feld Speicher voll!", "Steuerung", MB_OK Or MB_ICONSTOP)
            End If
            If (HIWORD(wParam) = EN_UPDATE) Then
               MessageBox(mainhwnd, "Edit Feld wurde geupdated!", "Steuerung", MB_OK Or MB_ICONINFORMATION)
            End If
            If (HIWORD(wParam) = EN_SETFOCUS) Then
               ;MessageBox(mainhwnd, "Edit Feld hat den Fokus bekommen!", "Steuerung", MB_OK Or MB_ICONINFORMATION)
            End If
         End If
      Case WM_SIZE
         MoveWindow(edEdit, 0, 0, LOWORD(lParam), HIWORD(lParam), True)
      End Select
   End If
Until KeyDown(1)

End

Function LOWORD(i)
   Return i And $FFFF
End Function

Function HIWORD(i)
   Return (i Shr 16)
End Function


[/EDIT]

Wild-Storm

BeitragSo, Jun 20, 2004 20:16
Antworten mit Zitat
Benutzer-Profile anzeigen
ich glaub dass es eher an dem c++ code liegt, nit am bb
Visit http://www.next-dimension.org
-------------------------------------------------
Freeware Modelle, Texturen & Sounds:
http://www.blitzforum.de/forum...hp?t=12875

Xenon

BeitragMo, Jun 21, 2004 16:44
Antworten mit Zitat
Benutzer-Profile anzeigen
http://www.blitzbasic.com/Comm...opic=35339

Neue Antwort erstellen


Übersicht BlitzBasic BlitzPlus

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group