Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    258

    [C++] modifica di proprietà & pulsanti su dialog box

    due domandine veloci veloci:
    1) come si modifica una proprietà con Visual C++? se provo ad esempio a scrivere

    IDC_PULSANTE.caption = "Mio";

    mi dice

    l'elemento a sinistra di '.caption' deve avere una classe, struttura o unione
    il tipo è 'int'

    2) come faccio ad aggiungere i pulsanti "chiudi", "ingrandisci" e "riduci a icona" a una dialogbox?

    grazie
    Andate su BiteFight

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254

    Re: [C++] modifica di proprietà & pulsanti su dialog box

    Originariamente inviato da frarugi87
    1) come si modifica una proprietà con Visual C++? se provo ad esempio a scrivere

    IDC_PULSANTE.caption = "Mio";

    mi dice

    l'elemento a sinistra di '.caption' deve avere una classe, struttura o unione
    il tipo è 'int'
    Hai scritto questo nel codice???
    Ma nooooo!
    IDC_PULSANTE è solamente un identificativo di tipo numerico. Se vuoi comunicare con i controlli devi farlo tramite le API Win32, con delle funzioni apposite o inviando messaggi ai controlli.

    Per impostare del testo ad esempio:

    SetDlgItemText (hWnd, IDC_PULSANTE, "Mio");

    dove hWnd è l'handle della dialog box.

    Originariamente inviato da frarugi87
    2) come faccio ad aggiungere i pulsanti "chiudi", "ingrandisci" e "riduci a icona" a una dialogbox?
    Questo puoi farlo dall'editor delle risorse, visualizza le proprietà della dialog box. Tasto destro del mouse sulla dialog -> Proprietà e poi i vari Minimize Box ecc...
    La X di chiusura ce l'ha già (se ha titolo e menù di sistema).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    258
    se scrivo

    SetDlgItemText (NULL, IDC_PULSANTE, "Mio");

    mi dice

    impossibile convertire il parametro 3 da 'const char [4]' a 'LPCWSTR'
    I tipi a cui si punta sono privi di relazioni. La conversione richiede reinterpret_cast, cast di tipo C o cast di tipo funzione

    ho messo NULL perchè non ho una variabile con memorizzato l'handle della finestra principale. come lo ottengo?


    per il pulsante chiudi, mi mancava il menu di sistema

    comunque... grazie 1000.. 6 gentilissimo
    Andate su BiteFight

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254
    Originariamente inviato da frarugi87
    SetDlgItemText (NULL, IDC_PULSANTE, "Mio");

    mi dice

    impossibile convertire il parametro 3 da 'const char [4]' a 'LPCWSTR'
    I tipi a cui si punta sono privi di relazioni. La conversione richiede reinterpret_cast, cast di tipo C o cast di tipo funzione
    Qui ci sarebbe da spiegare un po' di "background".

    Le applicazioni Win32 possono essere compilate per utilizzare uno dei 3 tipi di set di caratteri: ANSI, MBCS, Unicode. LPCWSTR indica una stringa Unicode. Per il momento lascia stare l'Unicode (che è meglio, visti i problemi). Vai nelle opzioni del progetto e nella sezione "Generale" imposta la voce "Set di caratteri" a "non impostato", che indica di usare il set ANSI.

    Per le differenze tra i charset ti rimando alla documentazione su MSDN. Non ho voglia di scrivere tutta la pappardella, anche perché sicuramente l'ho già fatto in post passati.

    Originariamente inviato da frarugi87
    ho messo NULL perchè non ho una variabile con memorizzato l'handle della finestra principale. come lo ottengo?
    Male, NULL come hWnd in taluni casi indica il "desktop".

    Scusa... queste operazioni da dove le fai? In genere si fanno nella dialog/window-procedure e lì appunto hai il hWnd.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    258
    Perfetto! funziona...

    grazie 1000

    per la differenza tra unicode e ansi, tranquillo. me la cavo molto meglio con l'ansi.

    per il controllo della finestra, hai ragione.... era hDlg...

    grazie 1000 per gli aiuti!
    Andate su BiteFight

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    258
    ps per modificare le proprietà allora servono funzioni apposta? ad esempio per modificare la proprietà visible devo cercare una funzione apposta? oppure c'è una sintassi che permette di modificare una proprietà di un oggetto?
    Andate su BiteFight

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.