Newsgroup: it.comp.programmare.win32
Titolo: Modificare "label" e renderla "editabile"

Buongiorno a tutti!
Premetto che ciň che stň per chiedervi potrebbe sembrare una sciocchezza, ma
sono proprio alle prime armi con il Visual Studio (C++),quindi pregasi non 
ridere :)
Mi sono messo a studiare il codice sorgente di un programma (emule per la 
cronaca), e vorrei fare
una sola piccola modifica al codice.
La parte di codice che riporto qui di seguito crea in modo dinamico un
"campo"(forse ho sbagliato termine...diciamo "etichetta") in una finestra,
il tutto al runtime (e ci scrive delle informazioni   "User-ID: bla bla bla 
bla").
Vorrei rendere selezionabile "l'etichetta" in modo da poterne fare il
copia/incolla in un'altro documento (non mi interessa modificarne il valore,
basta che sia selezionabile).
Qualcuno puň aiutarmi?
CString AddInfo;
  uint32 ClientIP = client->GetIP ();
  AddInfo.Format (_T("User-ID: %u   IP: %d.%d.%d.%d:%d"),    //(qui crea la 
stringa da visualizzare)
      client->GetUserIDHybrid (),
      ClientIP & 0xFF, (ClientIP >> 8) & 0xFF,
      (ClientIP >> 16) & 0xFF, (ClientIP >> 24) & 0xFF,
      client->GetUserPort ());
  CRect R (19,450,300,464);        // dal basso delle mie conoscenze,credo 
che siano queste 2 le righe da modificare.
  m_sAdditionalInfo.Create (AddInfo,WS_CHILD|WS_VISIBLE,R,this);
  VERIFY(m_fStdFont.CreateFont(   //da qui in poi non ho idea di cosa 
faccia...e non mi interessa)
      12,                        // nHeight
      0,                         // nWidth
      0,                         // nEscapement
      0,                         // nOrientation
      FW_NORMAL,                 // nWeight
      FALSE,                     // bItalic
      FALSE,                     // bUnderline
      0,                         // cStrikeOut
      ANSI_CHARSET,              // nCharSet
      OUT_DEFAULT_PRECIS,        // nOutPrecision
      CLIP_DEFAULT_PRECIS,       // nClipPrecision
      DEFAULT_QUALITY,           // nQuality
      DEFAULT_PITCH | FF_SWISS,  // nPitchAndFamily
      _T("MS Shell Dlg")));      // lpszFacename
  m_sAdditionalInfo.SetFont (&m_fStdFont);
Un cordiale ringraziamento a tutti!

   m_sAdditionalInfo.Create (AddInfo,WS_CHILD|WS_VISIBLE,R,this);
r indica la posizione e le dimensione della tua "etichetta"
come è dichiarata m_sAdditionalInfo? (CEdit, CStatic,....)

 come è dichiarata m_sAdditionalInfo? (CEdit, CStatic,....)
CStatic m_sAdditionalInfo;

 CStatic m_sAdditionalInfo;
cambiala in CEdit e creala aggiungendo con lo stile es_readonly
ciao
p.s.
non conosco mfc ma penso che cosi la label avra un bordo, se vuoi 
toglierlo devi smanettare con gli stili ws_XXX

 toglierlo devi smanettare con gli stili ws_XXX
Del bordo non me ne frega niente :)

Ops...scritto in maiuscolo (quindi corretto) dà questo errore:
Cannot convert parameter 1 from CString to DWORD 

Cannot convert parameter 1 from CString to DWORD 
Avendo modificato m_sAdditionalInfo da CStatic in Cedit, i
parametri della Create sono cambiati.
Non uso MFC, ma a naso scriverei:
m_sAdditionalInfo.Create (ES_READONLY | WS_CHILD |
                            WS_VISIBLE,R,this,1234);
Dove 1234 rappresenta l'identificativo di questo controllo.

> Dove 1234 rappresenta l'identificativo di questo controllo.
Della finestra che ospita la label? 

Della finestra che ospita la label? 
Non e' una finestra, e' un controllo edit, poi tu lo puoi
chiamare come vuoi. Se una finestra contiene diversi controlli
edit e' giusto identificarli in qualche modo.