Soyez le premier à donner votre avis sur cette source.
Vue 6 713 fois - Téléchargée 297 fois
#include <windows.h> #include <commctrl.h> // et linker avec comctl32.lib #include "resource.h" #include "OperTxt.h" HWND hdat, htxt; SYSTEMTIME sttm; char szbuff[260]; char *szappname = "DateTxt"; char *szfrmtDTP = "dd/MM/yyyy"; char *szFlName = "Datage.txt"; char *szERRWRITE = "ERREUR D'ECRITURE"; void InitInstance() { SYSTEMTIME stArr[2]; char *c; SendMessage(hdat, DTM_SETFORMAT, 0, (long) szfrmtDTP); GetLocalTime(stArr); // hdat, mini CeJour, maxi 31/12/9999 stArr[1].wDay = 31; stArr[1].wMonth = 12; stArr[1].wYear = 9999; SendMessage(hdat, DTM_SETRANGE, GDTR_MIN | GDTR_MAX, (long) &stArr); txtSetMinDay(stArr); // pendant qu'on a date du jour c = szbuff + GetModuleFileName(0, szbuff, 260); while(*c != '\\') c--; *c = 0; SetCurrentDirectory(szbuff); // assure txt dans dossier de app, change si tu veux } BOOL CALLBACK AppDlgProc(HWND hdlg, UINT mssg, WPARAM wParam, LPARAM lParam) { switch(mssg) { case WM_INITDIALOG: SetClassLong(hdlg, GCL_HICON, (long)LoadIcon(0, IDI_APPLICATION)); hdat = GetDlgItem(hdlg, ID_DATE); htxt = GetDlgItem(hdlg, IDED_TXT); SendMessage(htxt, EM_SETLIMITTEXT, 259, 0); InitInstance(); if(!txtOpenFile(szFlName)) { strcpy(szbuff, szFlName); strcpy(szbuff + 10, " INDISPONIBLE"); ShowWindow(hdlg, SW_SHOWNORMAL); MessageBox(hdlg, szbuff, szappname, MB_ICONEXCLAMATION); EndDialog(hdlg, 0); } return 1; case WM_COMMAND: switch(wParam) { case IDBT_ADD: // en fin de fichier if(!GetWindowText(htxt, szbuff, 260)) { MessageBeep(0); return 0; // texte obligatoire } SendMessage(hdat, DTM_GETSYSTEMTIME, 0, (long) &sttm); if(txtAddLine(&sttm, szbuff)) SetWindowText(htxt, 0); else MessageBox(hdlg, szERRWRITE, szappname, MB_ICONEXCLAMATION); return 0; case IDBT_TRI: SetCursor(LoadCursor(0, IDC_WAIT)); txtNormalize(); // je pense mettre un thread + tard if(txtNormalize() == 0xFFFFFFFF) { MessageBox(hdlg, "MANQUE MEMOIRE", szappname, MB_ICONEXCLAMATION); } SetCursor(LoadCursor(0, IDC_ARROW)); PostMessage(hdlg, WM_NEXTDLGCTL, 0, 0); return 0; case IDCANCEL: txtCloseFile(); EndDialog(hdlg, 0); } } return 0; } int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, PSTR, int) { InitCommonControls(); DialogBox(hInstance, MAKEINTRESOURCE(IDD_APP), NULL, AppDlgProc); return 0; }
9 mars 2004 à 23:00
Pour ceux qui ne comprennent pas pourquoi cette source ne marche pas, ya un ptit commentaire dans le code qui est : linker avec comctl32.lib.
Ca signifie juste qu'il faut aller dans le menu Project, sous-menu Settings. Dans la fenêtre, il faut choisir l'onglet link et ajouter dans une des zones de texte : comctl32.lib.
C'est pas forcément évident pour tout le monde :)
9/10
23 févr. 2003 à 23:07
26 janv. 2003 à 12:26
26 janv. 2003 à 12:17
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.