J'ai un souci concernant une appli mettant en jeu 2 fenêtres. En fait c'est lors de l'ouverture de la 2ème que le problème se pose. Voici une partie du code:
int WINAPI WinMain(HINSTANCE hinstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow)
{
HACCEL haccel;
Lorsque la fenêtre Graph est ouverte, une boite de dialogue s'ouvre, et c'est là que ça foire. Cette dernière clignote; en fait, c'est comme si elle s'ouvrait indéfiniment, même sans rien entrer (editbox).
C'est bon, ça marche. Merci pour ton aide.
J'ai un autre souci. Je sais comment récupérer un entier ou une chaine de caractères à partir d'une boite de dialogue, mais comment peut on faire pour récupérer un double?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Pour récupérer une chaine d'une boite de dialogue, c'est pas mieux d'utiliser GetDlgItemText?
Voilà ce que j'ai fait:
dans la procédure de la boite de dialogue:
Mais la chaine que je récupère ne contient que le premier caractère de ce qui est entré dans la boite de dialogue. Qu'est ce qui ne vas pas dans ce que j'ai fait?
Merci
GetDlgItemText va bon aussi, ça évite juste de stocker un HWND si on ne s'en sert que très peu mais dans tous les cas ça appellera GetWindowText en interne.
EndDialog(hDlg, *string3);
free(string3);
tu retournes par EndDialog l'entier à l'offset 0 de la chaine string3, donc le 1er caractère (string3[0]).
Il faut faire le atof() dans la dialog et le stocker ailleurs, EndDialog ne peut retourner qu'un entier 32 bits et rien d'autre.
Merci pour ton explication, je comprends mieux pourquoi je n'obtiens que le premier caractère.
Une fois que j'ai utiliser atof dans la boite de dialogue,
désolé, une partie de mon dernier message n'est pas passée. c'est la 2ème fois que ça me fait le coup.
Je diasais donc: une fois que j'ai utiliser atof dans la boite de dialogue, où faut-il stocker la valeur obtenue, comment je la récupère?