Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

dialogboxen usw.
Gehe zu Seite Zurück  1, 2
 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Elektronix



Anmeldungsdatum: 29.06.2006
Beiträge: 742

BeitragVerfasst am: 31.05.2007, 13:36    Titel: Antworten mit Zitat

Im C++-Forum unter WinAPI gibt es einen Download-Link für das SDK und eine Installationsanleitung. Also- ich habs geschafft, das ans Laufen zu bringen. Habs aber wieder runtergeschmissen, weil es dermaßen viel Speicherplatz belegt und nicht einmal einen Resourcen-Editor hat.

Borland-C++ oder der Borland-C-Builder bringen auch die MFC-Header mit.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 31.05.2007, 17:34    Titel: Antworten mit Zitat

Also ich kann eigentlich die wxWidgets empfehlen für C++. Du kannst dir die gleich mit modifizierter DevC++-IDE samt MinGW-Compiler von der Sourceforge-Site runterladen.
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 31.05.2007, 17:40    Titel: Antworten mit Zitat

Sooo weit daneben lag ich mit meiner selbstgemachten def gar nicht happy

Code:

CreateWindow(_
    ICiv_window_login_name, ICiv_window_login_title, WS_OVERLAPPEDWINDOW,_
    CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,_
    NULL, NULL, NULL, NULL


richtig war:

Code:

dim as HWND   MeinFenster = CreateWindow(_
    ICiv_window_login_name, ICiv_window_login_title, WS_OVERLAPPEDWINDOW,_
    CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,_
    NULL, NULL, GetModuleHandle(NULL), NULL)


lächeln
_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
c.m.obrecht



Anmeldungsdatum: 09.03.2006
Beiträge: 377
Wohnort: Hofstetten SO, CH

BeitragVerfasst am: 01.06.2007, 15:33    Titel: Antworten mit Zitat

Borland unf MFC? Dort gibt es doch das VCL.. jedoch der C++ BuilderX Personal Edition hat nichts derartiges.
Ach so ging das SDK; ich schaffte das nicht wirklich. Weiss auch nicht wieso... aber das mit dem modifizierten Compiler klingt gut!
_________________
...längre blomstre gamle nord...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Elektronix



Anmeldungsdatum: 29.06.2006
Beiträge: 742

BeitragVerfasst am: 01.06.2007, 21:12    Titel: Antworten mit Zitat

@c.m.obrecht

VCL ist die Borland-Version von Container-Klassen für die WinAPI. Die MFC ist auch bei den Borland-Produkten mit dabei, meist in einem eigenen Ordner namens MFC (zumindest war es bei meinem Borland-C++ 5.22 so, und beim Borland-C-Builder 4.0). Such mal nach den Dateien, die afx im Namen enthalten (afxres, afxdll o. ä.) Natürlich bietet Borland dafür keine Online-Hilfe an.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
c.m.obrecht



Anmeldungsdatum: 09.03.2006
Beiträge: 377
Wohnort: Hofstetten SO, CH

BeitragVerfasst am: 03.06.2007, 12:21    Titel: Antworten mit Zitat

Ja da kommt eine riesen Menge, .h und .rc - Dateien, ale im BuilderX - Ordner. Das ist die MFC? Wie binde ich die denn ein?
_________________
...längre blomstre gamle nord...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Elektronix



Anmeldungsdatum: 29.06.2006
Beiträge: 742

BeitragVerfasst am: 03.06.2007, 12:32    Titel: Antworten mit Zitat

Ja, das ist vermutlich die MFC (ich kenne den BuilderX nicht, daher kann ich das nicht 100%ig sagen).
Einbinden: normalerweise mit #include... happy Aber welche Dateien Du genau einbinden mußt, weiß ich nicht (auf jeden Fall .h-Dateien), ich arbeite nicht mit MFC.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
c.m.obrecht



Anmeldungsdatum: 09.03.2006
Beiträge: 377
Wohnort: Hofstetten SO, CH

BeitragVerfasst am: 03.06.2007, 13:42    Titel: Antworten mit Zitat

ahaaa, ja ich habe auch noch nie etwas mit mfc gemacht und auch kaum ein kleines Beispielprogramm etc. gefunden.
_________________
...längre blomstre gamle nord...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
c.m.obrecht



Anmeldungsdatum: 09.03.2006
Beiträge: 377
Wohnort: Hofstetten SO, CH

BeitragVerfasst am: 03.06.2007, 14:28    Titel: Antworten mit Zitat

Zitat:
Also ich kann eigentlich die wxWidgets empfehlen für C++. Du kannst dir die gleich mit modifizierter DevC++-IDE samt MinGW-Compiler von der Sourceforge-Site runterladen.


habe ich gemacht, sieht toll aus. Aber: wenn ich mit dem eingebauten RAD-Tool ein Fenster erzeuge (also Projekt "leeres wxWidgets-Projekt" wähle) und das ausführen möchte erscheint schonwieder eine Fehlermeldung: [Linker Error] undefined reference to `WinMain@16'
_________________
...längre blomstre gamle nord...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Elektronix



Anmeldungsdatum: 29.06.2006
Beiträge: 742

BeitragVerfasst am: 03.06.2007, 22:41    Titel: Antworten mit Zitat

c.m.obrecht hat Folgendes geschrieben:
ahaaa, ja ich habe auch noch nie etwas mit mfc gemacht und auch kaum ein kleines Beispielprogramm etc. gefunden.


Dann empfehle ich Dir, mal mit "MFC Tutorial" zu googeln. Es wird Dich erschlagen.
Zitat:
Fehlermeldung: [Linker Error] undefined reference to `WinMain@16'


Offensichtlich ist der Linker noch auf API eingestellt, dann erwartet er eine Funktion WinMain, die Du nicht definiert hast (so ne Funktion ist offenbar bei Widgets nicht üblich).
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
c.m.obrecht



Anmeldungsdatum: 09.03.2006
Beiträge: 377
Wohnort: Hofstetten SO, CH

BeitragVerfasst am: 06.06.2007, 21:18    Titel: Antworten mit Zitat

Ja habe den Fehler gefunden; man darf nicht "empty wxWidgets Project" wählen sondern "wxFrame" dann geht es. Nur die Message Box hab ich nicht einmal bekommen; muss diese Klassen mal etwas kennen lächeln Darf man z.B. bei on_cklci eines Buttons nicht einfach die Message Box wie von WinAPI bekannt nehmen? Das klappte nicht...
Ist ansonsten schon praktisch, wie C# ähnlich mit den Events usw.
_________________
...längre blomstre gamle nord...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Lutz Ifer
Grillmeister


Anmeldungsdatum: 23.09.2005
Beiträge: 555

BeitragVerfasst am: 10.06.2007, 15:39    Titel: Antworten mit Zitat

nur so als nachtrag, falls es jemanden interessiert:

Ich habe vor, mein WinApi-Tutorial an die neueste Version von FreeBasic anzupassen (damit auch alles hübsch sofort lauffähig bleibt), wieder auf meine Webseite hochzuladen, und, *trara!* weiterzuschreiben.


Kleines Manko: Könnte aber noch n bisschen dauern, bis auf der Seite wieder was geht, aber keine Sorge, ich kündige es groß an.

Gruß

Lutz böse Ifer

edit:
http://lutzifer.freebasic.de/de/winapi.php ist online, und enthält im Moment zumindest mal ytwinkys CHM-Compilierte Version des altes Tutorials.
_________________
Wahnsinn ist nur die Antwort einer gesunden Psyche auf eine kranke Gesellschaft.


Zuletzt bearbeitet von Lutz Ifer am 12.06.2007, 17:07, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 10.06.2007, 15:45    Titel: Antworten mit Zitat

bei mir (0.18CVS) funzten fast alle beispiele...
_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 10.06.2007, 16:33    Titel: Antworten mit Zitat

Ich bin trotzdem bin dafür, dass Lutz Ifer weiterschreibt. lächeln
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 10.06.2007, 17:23    Titel: Antworten mit Zitat

Mao hat Folgendes geschrieben:
Ich bin trotzdem bin dafür, dass Lutz Ifer weiterschreibt. lächeln


Ich natürlich auch! ich wollte eigentlich nur sagen, dass es da nicht sonderlich viel an sourcen zu überarbeiten gibt. zwinkern
_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 20.06.2007, 21:25    Titel: Antworten mit Zitat

sorry dat ich den thread nochma pushe happy
hätte ich doch bloß vb weinen

prob: passwort feld will nicht


src:
Code:

#include "windows.bi"
const ICiv_window_login_name = "ICiv - Login"
const ICiv_window_main_name = "ICiv - Main"

declare function ICiv_window_login_func(byval hWnd as HWND, byval message as UINTEGER,_
                                        byval wParam as WPARAM, byval lParam as LPARAM) as LRESULT
   
dim as WNDCLASS   windowclass

with windowclass
    .style         =  CS_HREDRAW or CS_VREDRAW
    .lpfnWndProc   =  ProcPtr(ICiv_window_login_func)
    .cbClsExtra    =  0
    .cbWndExtra    =  0
    .hInstance     =  GetModuleHandle(NULL)
    .hCursor       =  LoadCursor(NULL, IDC_ARROW)
    .hIcon         =  LoadIcon(NULL, IDI_APPLICATION)
    .hbrBackground =  GetStockObject(LTGRAY_BRUSH)
    .lpszClassName =  StrPtr(ICiv_window_login_name)
    .lpszMenuName  =  NULL
end with
RegisterClass @windowclass

dim as HWND   MeinFenster = CreateWindow(_
    ICiv_window_login_name, "ICiv - Login", WS_OVERLAPPEDWINDOW,_
    CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,_
    NULL, NULL, GetModuleHandle(NULL), NULL)
   
dim as HWND   Password = CreateWindowEx(_
    WS_Ex_left, "ICiv - Login", ES_PASSWORD,_
    CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,_
    NULL, NULL, GetModuleHandle(NULL), NULL)


ShowWindow   MeinFenster, SW_NORMAL
UpdateWindow MeinFenster

ShowWindow Password, SW_NORMAL
UpdateWindow Password

dim as MSG Nachricht
do while GetMessage(@Nachricht, NULL, 0, 0) <> 0
    DispatchMessage  @Nachricht
loop
end Nachricht.wParam


'''''''''''''''''''''''''''''''''''''''
''''' GUI FUNCTIONS BEGIN HERE ''''''''
'''''''''''''''''''''''''''''''''''''''
function ICiv_window_login_func(byval hWnd as HWND, byval message as UINTEGER,_
    byval wParam as WPARAM, byval lParam as LPARAM) as LRESULT
   
    if message = WM_DESTROY then
        PostQuitMessage 0
        return 0
    else
        return DefWindowProc(hWnd, message, wParam, lParam)
    end if
end function


es kommen nur dämliche comperrors mit dem Kopf durch die Mauer wollen mit dem Kopf durch die Mauer wollen mit dem Kopf durch die Mauer wollen mit dem Kopf durch die Mauer wollen
_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Elektronix



Anmeldungsdatum: 29.06.2006
Beiträge: 742

BeitragVerfasst am: 21.06.2007, 16:26    Titel: Antworten mit Zitat

Welche Fehler denn? Wie sollen wir erfahren, was falsch ist, wenn Du nicht sagst, was Dein Compiler bemängelt?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
AndT



Anmeldungsdatum: 02.04.2007
Beiträge: 481

BeitragVerfasst am: 22.06.2007, 16:45    Titel: Antworten mit Zitat

Code:
CreateWindowEx


Könnte was damit zutun haben??
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 22.06.2007, 16:51    Titel: Antworten mit Zitat

ja das wars grinsen


aber


wie bestimme ich nun wo der button is und welches label und bla er hat?
_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite Zurück  1, 2
Seite 2 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz