linieskift i win32 api c++

Tags:    c++

Okay, sikkert et forholdsvis ukompliceret spørgsmål for alle jer rutinerede kapaciteter derude, men så meget desto bedre.

Jeg har lavet en multiline edit control og vil gerne skrive noget text i den på forskellige linier ved et for-loop. Helt konkret ser min kode ud som følger:

for(x=0;x<74;x++)
if (result == praes[x][0]){
for (y=1;y<7;y++)
SetDlgItemText(hwndDlg,InfId, praes[x][y] .c_str());
fundet=1; }

Jeg vil altså gerne lave et linieskift for hver ny y-værdi. Hvordan gør jeg nemmest det?



Indlæg senest redigeret d. 27.12.2007 21:25 af Bruger #12958
Så vidt jeg husker skal du angive hele teksten som en lang streng, dvs. kun én SetDlgItemText, og bruge \\\\r\\\\n som linjeskift.



er ikke helt sikker på at jeg forstår. hvor skulle jeg i givet fald indsætte \\r\\n? Det skal svare til det man laver i et konsolprogram ved følgende:

for (y=1;y<7;y++)
cout<<text[y]<<endl;

hvis det giver mening?



\\r\\n = linjeskiftet på Windows platformen.
"endl" i et konsolprogram er bare en crossplatform måde at repræsentere dette på, da linjeskiftet på andre platforme i mange tilfælde laves på andre måder.



Jeg har denne funktion fra et andet projekt:
Fold kodeboks ind/udKode 


I dit tilfælde bliver det noget i stil med:
std::string Text;
for (y=1;y<7;y++)
{
Text += praes[x][y];
Text += "\\\\r\\\\n";
}
SetDlgItemText(hwndDlg,InfId, Text.c_str());




Tak skal I have. Det virker, men hvordan får jeg den til at autoscrolle ned i stedet for op?



Du må nok lige forklare hvad "autoscrolle ned i stedet for op" betyder.



nå ja, det var måske lidt kort for hovedet, men min multiline edit control fylder noget der ligner 6 linier som fyldes ud. når jeg så tilføjer yderligere 6 linier bliver den på de 6 første i stedet for at gå ned til de nyankomne. hvis det giver mening?

kan man få edit control'en til at autoscrolle ned i stedet for op? eller måske bare overskrive teksten i den?



Indlæg senest redigeret d. 31.12.2007 00:35 af Bruger #12958
Jeg tror du bliver nødt til at bede den om at scrolle ned, når du har tilføjet tekst.
Du får den til at scrolle med SetScrollPos, det er nok nødvendigt at finde max-position med GetScrollRange først.



t