Cum pot redimensiona lista drop-down dintr-un CComboBox ?

Intrebari legate de programarea cu biblioteci precum MFC, ATL, WTL si GDI+.
Post Reply
mesajflaviu
Membru++
Membru++
Posts: 687
Joined: 10 Sep 2008, 21:40
Judet: Cluj

Cum pot redimensiona lista drop-down dintr-un CComboBox ?

Post by mesajflaviu » 10 Jan 2011, 15:20

Sant cazuri cand un CComboBox cu stilul drop-down are mai multe caractere decat pot incapea in lista drop-down . Cum as putea face aceasta lista variabila ca latime ?



User avatar
Ovidiu Cucu
Fondator
Fondator
Posts: 3778
Joined: 11 Jul 2007, 16:10
Judet: Iaşi
Location: Iasi
Contact:

Re: Cum pot redimensiona lista drop-down dintr-un CComboBox

Post by Ovidiu Cucu » 10 Jan 2011, 17:05

Nu stiu sa existe vreo cale directa, implementata in control, dar cred ca ne-am mai jucat cu redimensionarea dropdown-ului: http://www.codexpert.ro/forum/viewtopic ... 531#p10675
Pentru a calcula latimea necesara, poti folosi CDC::GetTextExtent.

mesajflaviu
Membru++
Membru++
Posts: 687
Joined: 10 Sep 2008, 21:40
Judet: Cluj

Re: Cum pot redimensiona lista drop-down dintr-un CComboBox

Post by mesajflaviu » 10 Jan 2011, 18:51

Bun , dar acea dimensionare era pe verticala ... eu ma gandeam la ceva in genul IAutoComplete al IE-ului , adica acel drop-down sa aiba un "coltzunas" de care sa intind daca trebuie ...

neagu_laurentiu
Membru++
Membru++
Posts: 919
Joined: 23 Jul 2007, 11:32

Re: Cum pot redimensiona lista drop-down dintr-un CComboBox

Post by neagu_laurentiu » 10 Jan 2011, 18:54

Fereastra ce se deschide la combo trebuie sa fie a ta si faci tot ce vrei.

User avatar
Ovidiu Cucu
Fondator
Fondator
Posts: 3778
Joined: 11 Jul 2007, 16:10
Judet: Iaşi
Location: Iasi
Contact:

Re: Cum pot redimensiona lista drop-down dintr-un CComboBox

Post by Ovidiu Cucu » 10 Jan 2011, 21:50

mesajflaviu wrote:Bun , dar acea dimensionare era pe verticala ...
Corect. Pe orizontala mai trebuie transpirat un pic. ;)
mesajflaviu wrote:acel drop-down sa aiba un "coltzunas" de care sa intind daca trebuie ...
Pune te rog o poza cu "coltzunasul" ca sa ma prind si eu despre ce-i vorba.


User avatar
Ovidiu Cucu
Fondator
Fondator
Posts: 3778
Joined: 11 Jul 2007, 16:10
Judet: Iaşi
Location: Iasi
Contact:

Re: Cum pot redimensiona lista drop-down dintr-un CComboBox

Post by Ovidiu Cucu » 11 Jan 2011, 12:17

neagu_laurentiu wrote:In dreapta jos: http://community.devexpress.com/blogs/t ... 2F0AC5.png
Aha deci, "sizing grip" se traduce "coltzunas". Thanks!
BTW, (numai pentu specialistii in Office) "format painter" se traduce "maturica". :biggrin:
format painter.png
format painter.png (1.04 KiB) Viewed 7139 times

mesajflaviu
Membru++
Membru++
Posts: 687
Joined: 10 Sep 2008, 21:40
Judet: Cluj

Re: Cum pot redimensiona lista drop-down dintr-un CComboBox

Post by mesajflaviu » 11 Jan 2011, 22:19

Ma refeream la

http://img138.imageshack.us/img138/5957/34696379.png

dar inteleg ca nu e simplu deloc , si poate e mai buna solutia creerii unui control special , nu unul derivat din CComboBox ... sa vad ce pot face ...

User avatar
Ovidiu Cucu
Fondator
Fondator
Posts: 3778
Joined: 11 Jul 2007, 16:10
Judet: Iaşi
Location: Iasi
Contact:

Re: Cum pot redimensiona lista drop-down dintr-un CComboBox

Post by Ovidiu Cucu » 11 Jan 2011, 22:45

mesajflaviu wrote:si poate e mai buna solutia creerii unui control special , nu unul derivat din CComboBox ... sa vad ce pot face ...
Esti e cale sa iei o decizie buna. Cel putin din punctul meu de vedere. ;)

neagu_laurentiu
Membru++
Membru++
Posts: 919
Joined: 23 Jul 2007, 11:32

Re: Cum pot redimensiona lista drop-down dintr-un CComboBox

Post by neagu_laurentiu » 11 Jan 2011, 23:11

Cat de special ? Eu, utilizator, nu trebuie sa-l vad diferit cand schimb stilul sau versiunea de Windows ! Adica baza tot combo Windows sa fie ca daca pui tu un editbox si buton cu sageata nu mai arata ca cel default...

User avatar
Ovidiu Cucu
Fondator
Fondator
Posts: 3778
Joined: 11 Jul 2007, 16:10
Judet: Iaşi
Location: Iasi
Contact:

Re: Cum pot redimensiona lista drop-down dintr-un CComboBox

Post by Ovidiu Cucu » 12 Jan 2011, 11:30

neagu_laurentiu wrote:Cat de special ? Eu, utilizator, nu trebuie sa-l vad diferit cand schimb stilul sau versiunea de Windows ! Adica baza tot combo Windows sa fie ca daca pui tu un editbox si buton cu sageata nu mai arata ca cel default...
Pai, daca din butonel tasneste ceva de genul http://community.devexpress.com/blogs/t ... 2F0AC5.png
deja e la un kilometru de "default".
// Pe afara-i vopsit gardul, inauntru-i leopardul. :biggrin:

De ce neaparat combobox?

User avatar
Ovidiu Cucu
Fondator
Fondator
Posts: 3778
Joined: 11 Jul 2007, 16:10
Judet: Iaşi
Location: Iasi
Contact:

Re: Cum pot redimensiona lista drop-down dintr-un CComboBox

Post by Ovidiu Cucu » 12 Jan 2011, 14:02

N-ar fi din cale-afara de greu nici de vopsit gardul. :)
Ceva de genul:

Code: Select all

   HTHEME hTeme= ::OpenThemeData(m_hWnd, L"ComboBox");
   if(NULL != hTeme)
   {
      // draw Visual Style (XP/Vista/7).
      ::DrawThemeBackground(hTeme, hDC, CP_BORDER, CBB_NORMAL, rcCombo, NULL);
      ::DrawThemeBackground(hTeme, hDC, CP_DROPDOWNBUTTON, CBXS_NORMAL, rcDDButton, NULL);
      // ...
      ::CloseThemeData(hTeme);
   }
   else
   {
      // draw Classic Style (using DrawFrameControl and so on).
   }
BTW. Poti sa-i pui si "coltzunas", daca vrei. :D

Post Reply