Ein paar fragen ;-)
-
erstmal @conan danke das funktioniert jetzt
eins habe ich aber noch folgendes funktioniert
CWnd::FromHandle( GetDlgItem(hwnd, IDC_TEXT1) )->EnableWindow();dies aber nicht
int a = 3;
CWnd::FromHandle( GetDlgItem(hwnd, IDC_TEXT1 + a) )->EnableWindow();eigentlich doch genau nach Erhard Henkes vorschlag der Kompiler meckert auch nicht nur beim aufruf des programmes gibts nen absturz
-
Die Frage ist, was du denkst

Ich gehe davon aus, das du der Meinung bist das wenn du
IDC_TEXT1 + aschreibst, IDC_TEXT13 daraus kommt? oder IDC_TEXT4 ?! Beides nicht.
IDC_TEXT1 ist ja ein #define in der resource.h. Nun wird durch den Preprozessor aber IDC_TEXT1 durch den definierten Wert ersetzt. K. Gehen wir bsw davon aus das folgendes in der resource.h steht:
#define IDC_TEXT1 105Dann würde aus:
CWnd::FromHandle(GetDlgItem(hWnd, IDC_TEXT1+a))->EnableWindow();CWnd::FromHandle(GetDlgItem(hWnd, 105+a))->EnableWindow();d.h. würd dir GetDlgItem einen Handle des ctrls mit der ID 105+a zurückliefern.
-
Wenn Du die ID im Ressourceneditor erstellst oder eingibst, ist nicht gewährleistet, das die tatsächlichen Werte die dahinter stehen, in einer Reihenfolge angelegt werden. Das müsstest Du von Hand erledigen IMHO in der ressource.h.
OT: wie stehts um den Ticker ?

Edit: Ah, dass war knapp

-
@(D)Evil und connan
Da habe ich was verhunzt, das die resource da nicht hintereinander kommen.
Peinlich solch ein schusselfehler zu begehen
@connan am Newsticker wird weiterhin gebastelt
momentan versuche ich krampfhaft das hauptfenster in den Tray zu schicken.
Aber bisher ohne erfolg
egal nach welchem tutorial ich vorgehe es gibt keine fehlermeldungen sonder dass programm startet einfach nicht
-
sorry aber ich glaub ich drehe durch
void Quiz::SetNextQuizState(HWND hwnd) { CWnd::FromHandle( GetDlgItem(hwnd, IDC_TEXT1 + QuizState) )->EnableWindow(FALSE); QuizState++; CWnd::FromHandle( GetDlgItem(hwnd, IDC_TEXT1 + QuizState) )->EnableWindow(); return; }IDC_TEXT1 ist bei mir jetzt
#define IDC_TEXT1 1007also müsste beim ersten durchlauf der schleife ja reintheoretisch
1007 + 0 deaktiviert werden
und 1007 + 1 namentlich IDC_TEXT2 aktiviert werden lustigerweise
wird aber IDC_TEXT6 oder als resource 1012 aktiviert
beim nächsten aufruf wird dann auch nicht IDC_TEXT7 (1013) sondern IDC_TEXT5(1011) aktiviert
-
Richtig lustig hier.
-
void Quiz::SetNextQuizState(HWND hwnd) { CWnd::FromHandle(GetDlgItem(hwnd, IDC_TEXT1 + QuizState))->EnableWindow(FALSE); nQuizState++; CWnd::FromHandle(GetDlgItem(hwnd, IDC_TEXT1 + QuizState))->EnableWindow(); }Das hat jawohl wenig mit einer schleife zu tun...
-
@(D)Evil ne schleife die gibts da auch nicht währe ja auch sinnlos
jedesmal wenn eine eine Frage richtig beantwortet wird soll diese Funktion den Punkte stand erhöhen
und es passiert ja gemau das was sie eigentlich machen soll der vorhergehende text wird abgeschaltet der nächste ein. nur halt durcheinander und verkehrt herum.
-
Ach zeig einfach mal deine verdammte resource.h

-
Null Problemo
//{{NO_DEPENDENCIES}} // Microsoft Visual C++ generated include file. // Used by OneMillion.rc // #define IDM_ABOUTBOX 0x0010 #define IDD_ABOUTBOX 100 #define IDS_ABOUTBOX 101 #define IDD_ONEMILLION_DIALOG 102 #define IDR_MAINFRAME 128 #define IDC_Frage 1001 #define IDC_ANTW_A 1002 #define IDC_ANTW_B 1003 #define IDC_ANTW_C 1004 #define IDC_ANTW_D 1005 #define IDC_TEXT0 1006 #define IDC_TEXT1 1007 #define IDC_TEXT2 1008 #define IDC_TEXT3 1009 #define IDC_TEXT4 1010 #define IDC_TEXT5 1011 #define IDC_TEXT6 1012 #define IDC_TEXT7 1013 #define IDC_TEXT8 1014 #define IDC_START 1015 // Next default values for new objects // #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_NEXT_RESOURCE_VALUE 129 #define _APS_NEXT_COMMAND_VALUE 32771 #define _APS_NEXT_CONTROL_VALUE 1016 #define _APS_NEXT_SYMED_VALUE 101 #endif #endif
-
Hau mal bidde einen Breakpoint nach nQuizState++; rein und guck mal was die Variable fürn Value hat...
-
das haut genau hin nach dem ersten aufruf habe ich 1 nach dem zweiten aufruf 2 usw.
-
gut problem erledigt habe zwar ein rebuild gemacht hatte aber vergessen mal ein clean durchzuführen. nach dem Clean funktioniert es perfekt
-

-
So ich habe fertig :p
zumindest funktioniert es ansatzweise
daher hier mal nen link zum Sourcecode(für VisualStudio2003 )
http://skippy.uttx.net/downloads/OneMillion.rar
89,4kb mitamt der auführbaren exe dateiWenn jemand nen bissl Zeit währe es schön sich das ganze mal anzuschauen und verbesserungsvorschläge zu geben (wichtig ist auch habe ich fehlerbehandlung irgendwo vergessen?)
falls fragen zum optischen kommen geplant ist eigentlich ein bissl mit Fontgröße und Farbe rumzuspielen und nen Bitmap als hintegrund
weiterhin soll noch zusätzlich nen Endlosmodus und nen kleiner 4Personen Netzwerkmodus hineinkommen
-
öh... bring es erstmal dazu zu laufen... av...
aja... dein Stil ist... naja

Zum UI... jo mach ne Bmp als Bg... evt. halt auch Regions... also Skinning... dann solltest de aufpassen... musst dann die OnCtrlColor überschreiben... damit die Statics durchsichtig sind

-
@(D)Evil
also bei mir läufts(währe schön wenn de mir sagst was falsch läuft)
zum Stil ist halt das erste mal das ich ne Klasse geschireben habe is noch net so perfekt und so gut bin ich im Programmieren noch nicht.
Und weil ich weis das des noch net so perfekt läuft frage ich ja hier die "Profis".z.b.
SetNextQuizState() und DisplayNextQuestion()
muss ich nochmal überarbeiten
Weiterhin hab ich grad festgestellt das in LoadQuestions() ein fehler drin ist sollte keine datei vorhanden sein schmiert mein Programm ab
-
Sry. k lag wirklich daran das die Datei nicht da war

Soll ich dirs mal korrigieren?! Und verbessern?!

Aja was mal so direkt auffält... warum machst du den StringArray Public?!
-
Aja... evt. solltest du das mal ändern.. es würde sich warscheinlich eher empfehlen je Frage eine Strukt anzulegen... also in etwa:
struct Question__ { char cQuestion[256]; unsigned int nID; bool bUsed; }* HQUESTION;... Dann solltest du bUser beim laden auf false setzen und wenn die Frage dann gestellt wurde auf true... so das de verhinderst das Fragen doppel vorkommen...
Sonnst gib mal diene eMail Addresse dann schick ich dirs mal

-
Das mit dem StringArray war nen Ausrutscher da hab ich mist gebaut keine Ahnung was ich da vorhatte irgendwie dachte ich wohl das ich auch von aussen irgendwie drauf zugreifen wollte.
wird erstmal schnell behoben
zum fehler mit der Datei muss ich sagen ich hatte das aus nem Forum so übernommen dachte es funktioniert. Aber wie man sieht funktioierts doch nicht perfekt