Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Programmeren

[vC++]Statusbar tekst+string

None
2 antwoorden
  • Ik wil in een part van de status bar een string en gelijk daarachter een tekst weergeven.

    Ik doe nu dit:

    [code:1:c3f47f53db]
    SendMessage(GetDlgItem(hWnd,100), SB_SETTEXT, 0, (LPARAM)(LPSTR)"Tekst");
    [/code:1:c3f47f53db]

    Als resulteet geeft dit in part 1 van de statusbar het volgende resultaat: Tekst

    Ik wil dus eingelijk hebben: Tekst 5.

    De waarde van die 5 is opgeslagen in een variabele die heet getal. Hoe kan ik het nou voor elkaar krijgen dat eerst het woord tekst, en daarna de variabele 'getal' wordt weergegeven.
  • [quote:2b9d3f493b="sherekahn"]Ik wil in een part van de status bar een string en gelijk daarachter een tekst weergeven.

    Ik doe nu dit:

    [code:1:2b9d3f493b]
    SendMessage(GetDlgItem(hWnd,100), SB_SETTEXT, 0, (LPARAM)(LPSTR)"Tekst");
    [/code:1:2b9d3f493b]

    Als resulteet geeft dit in part 1 van de statusbar het volgende resultaat: Tekst

    Ik wil dus eingelijk hebben: Tekst 5.[/quote:2b9d3f493b]

    Alleen met gebruik van Win32 API functies?
    Dat zal wel, want anders je daar wel de standaard C functies voor gebruikt.

    [quote:2b9d3f493b="sherekahn"]De waarde van die 5 is opgeslagen in een variabele die heet getal. Hoe kan ik het nou voor elkaar krijgen dat eerst het woord tekst, en daarna de variabele 'getal' wordt weergegeven.[/quote:2b9d3f493b]

    Het handigst is denk ik dan de variabele getal converteren naar een string en daar de string 'Tekst ' voorplakken.
    [code:1:2b9d3f493b]
    function GetStatusbarText(getal: integer): string;
    var
    pMessage: PChar;
    begin
    if (FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER OR FORMAT_MESSAGE_ARGUMENT_ARRAY OR FORMAT_MESSAGE_FROM_STRING,
    PChar('Tekst% %1!d!%0'),0,0,@pMessage,1,@getal) <> 0) then
    try
    result := pMessage;
    finally
    LocalFree(Cardinal(pMessage));
    end;
    end;
    [/code:1:2b9d3f493b]

    Een stukje van m'n pascal/delphi code uit een project…
    Een kwestie van recht-toe-recht-aan omzetten.
    @ -> &
    PChar -> Pointer naar een karakter
    OR -> |

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.