View Full Version : [VC++6]Help: Không thêm được vào combobox
hieubm
15-01-2007, 10:33 PM
Khi tui tạo một combobox bằng CreateWindow(...) thì tui có thể dùng
SendMessage(hwndCombo,CB_ADDSTRING,0,(LPARAM)"...");
Hoặc : SendMessage(hwndCombo,CB_INSERTSTRING,0,(LPARAM)"...");
để thêm phần tử vào combobox. Nhưng khi tui xài combobox thiết kế trong resource thì ko tài nào add phần tử được.
Tui đã thử các lệnh như :
SendMessage(GetDlgItem(hDlg,IDC_COMBO),CB_INSERTST RING,0,(LPARAM)"He"); SendMessage(GetDlgItem(hDlg,IDC_COMBO),CB_ADDSTRIN G,1,(LPARAM)"Hi");
Cái combobox vẫn trống trơn ! Hic hic ! Mong các bạn giúp đỡ
ilovecplusplus
16-01-2007, 02:53 AM
(LPARAM) (LPCTSTR) "STRING"
Hope this will help (Note: code untested, sorry):))
vinhie47
16-01-2007, 09:00 PM
Khi tui tạo một combobox bằng CreateWindow(...) thì tui có thể dùng
...
để thêm phần tử vào combobox.
Nhưng khi tui xài combobox thiết kế trong resource thì ko tài nào add phần tử được.
Tui đã thử các lệnh như :
...
Cái combobox vẫn trống trơn ! Hic hic ! Mong các bạn giúp đỡ
Bởi vì cái combobox mà bạn kéo vào để kích thước không hợp lí, chiều cao của cái combobox chỉ đủ để chứa cái editbox, không có chỗ cho cái drop-down. Sửa lại bằng cách chọn combobox rồi ấn vào cái mũi tên bên phải, sau đó tăng độ cao cho cái combobox.
Nếu bạn thử vào file resource để xem kích thước của nó thì cũng thấy điều đó
hieubm
17-01-2007, 09:48 PM
(LPARAM) (LPCTSTR) "STRING"
Hope this will help (Note: code untested, sorry))
This is true sorry ! He he ! Thank you ~~~~
Bởi vì cái combobox mà bạn kéo vào để kích thước không hợp lí, chiều cao của cái combobox chỉ đủ để chứa cái editbox, không có chỗ cho cái drop-down. Sửa lại bằng cách chọn combobox rồi ấn vào cái mũi tên bên phải, sau đó tăng độ cao cho cái combobox.
Nếu bạn thử vào file resource để xem kích thước của nó thì cũng thấy điều đó
Cảm ơn bạn nha, cái này nó quái thật. Thực ra khi tạo Combobox bằng CreateWindow(...) tớ cũng biết là phải cho nó dài xuống dưới để có chỗ để chữ. Nhưng khi thiết kế trên Dialog, thấy nó ko có chỗ kéo xuống dưới nên bất lực và ko biết nguyên nhân. Hóa ra là phải ấn vào cái nút drop-down, rồi thì mới chỉnh được kích cỡ dưới.
Mà cũng ngộ thiệt đó, lẽ ra Microsoft phải tự resize cái combobox đó chớ, để người ta add thêm bao nhiêu thành phần cũng được. Nay khi add thêm nhiều thành phần ngoài dự kiến ( do người dùng add thêm khi chạy chương trình ), có lẽ phải xài đến MoveWindow(...)
Cách xài MoveWindow(...) có phải là cách hay ko ? Hay còn cách nào khác cao tay hơn, giúp nó resize.
vinhie47
17-01-2007, 11:20 PM
Tại sao nó thế thì phải hỏi bác Gate thôi :D
thuongshoo
29-01-2007, 01:25 PM
Tui cũng đang bị cái này. Tui đã add các mục vào combo box bằng cái soạn thảo resource nhưng chạy chả thấy cái gì. VC6 dở ơi là dở!
hieubm
29-01-2007, 06:15 PM
Tui cũng đang bị cái này. Tui đã add các mục vào combo box bằng cái soạn thảo resource nhưng chạy chả thấy cái gì. VC6 dở ơi là dở!
Đừng chê nó dở. Tớ hểu tại sao bác Gate lại làm thế rồi. Đơn giản là vì : khi bạn có một combobox với hàng chục, hàng trăm phần tử. Lúc đó, combobox sẽ hiện ra với kích thước mà bạn đã định trong resource, và một thanh cuộn nhỏ hiện ra ở gần đó, ta có thể kéo thanh cuộn và xem đến phần tử cuối cùng.
Có trách thì trách chúng ta chưa hiểu bết rõ về combobox. Nhưng thực ra thì Microsoft cũng nên để cho cái combo đó một khoảng mặc định từ trước, để lập trình viên đỡ phải tự tay nới rộng khoảng cách mới xem được các phần tử.
thuongshoo
07-02-2007, 06:34 PM
Nhưng thực ra thì Microsoft cũng nên để cho cái combo đó một khoảng mặc định từ trước, để lập trình viên đỡ phải tự tay nới rộng khoảng cách mới xem được các phần tử. vậy mà cũng chưa chịu ông VC dốt!
Cái VC++ dở lắm! Nếu xài MFC, tạo dialog, rồi đổi tên dialog thử xem. Vô hộp thoại class wizard sẽ 0 thấy nữa!
vinhie47
07-02-2007, 11:41 PM
Cái VC++ dở lắm! Nếu xài MFC, tạo dialog, rồi đổi tên dialog thử xem. Vô hộp thoại class wizard sẽ 0 thấy nữa!
Đổi ID à? Như vậy mới là hợp lí, chả có gì dở ở đây cả(:-)w
P/S: Với VC++.NET khi dùng MFC thì cái combobox sẽ không bị như vậy nữa :D
vBulletin® v3.8.4, Copyright ©2000-2010, Jelsoft Enterprises Ltd. Administrer by Kevin Hoang