[Visual C++] text van resource veranderen

Pagina: 1
Acties:

  • SWfreak
  • Registratie: Juni 2001
  • Niet online
Ik heb in VC++ een windows-applicatie gebakken en als onderdeel daarvan met de resource editor een dialog gemaakt. In deze dialog zitten een aantal Static's. Nou wil ik graag de text van die statics veranderen, maar ik heb geen idee hoe. Ik weet dat het kan als ik de window-handle heb dmv SetWindowText(), maar ik weet niet hoe ik aan die handle kan komen.
Ik heb al geprobeerd om de statics gewoon te laden:
C:
1
2
HRSRC hrITS = FindResource( hInst, MAKEINTRESOURCE(IDC_ZUT), ??);
HWND hITS = (HWND) LoadResource( hInst, hrITS );

Maar dat werkt niet. Ook heb ik geprobeerd om de statics dan maar handmatig toe te voegen, maar dat lukt ook niet.
Iemand suggesties??

  • Korben
  • Registratie: Januari 2001
  • Laatst online: 14-11-2025

Korben

() => {};

Je moet als je de resources hebt geladen (ik neem aan dat dat lukt, als je de statics te zien krijgt), de window handle opvragen met GetDlgItem:


C++:
1
2
HWND hItem = GetDlgItem(hDlg, MAKEINTRESOURCE(IDC_ZUT));
SetWindowText(hItem, "blaat");


Waarbij hDlg een handle is naar je dialog.

Btw dit is heel makkelijk te vinden op MSDN.

[ Voor 20% gewijzigd door Korben op 12-01-2003 02:49 ]

.oisyn: Échte programmeurs haten PHP met een passie. Ben jij soms geen echte programmeur?


  • MisterData
  • Registratie: September 2001
  • Laatst online: 25-08 20:38
Korben schreef op 12 januari 2003 @ 01:41:
Je moet als je de resources hebt geladen (ik neem aan dat dat lukt, als je de statics te zien krijgt), de window handle opvragen met GetDlgItem:


C++:
1
2
HWND hItem = GetDlgItem(hDlg, MAKEINTRESOURCE(IDC_ZUT));
SetWindowText(hItem, "blaat");


Waarbij hDlg een handle is naar je dialog.

Btw dit is heel makkelijk te vinden op MSDN.
Ik dacht geloof ik dat GetDlgItem ook zonder MAKEINTRESOURCE kon?

  • SWfreak
  • Registratie: Juni 2001
  • Niet online
Thanx. Ik was even vergeten dat ik op MSDN ook nog kon zoeken :) Het werkt iig en het kan idd ook zonder MAKEINTRESOURCE...

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 16:13

.oisyn

Moderator Devschuur®

Demotivational Speaker

sterker nog, het moet zonder MAKEINTRESOURCE (), omdat die macro je integer naar een string cast. Het kan dus alleen gebruikt worden als de functie die een resource nodig heeft een string verwacht. Daar komt nog bij dat controls op een dialog geen resources zijn, en de id-nummers zijn alleen bedoelt om de juiste control op een bepaalde dialog aan te geven (dit geldt bijvoorbeeld ook bij menu's)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.