Visual C++ :: Custom Control Library Design?
Mar 15, 2015i want to design a custom control (Ui widget library) , this library can be used by any IDe developer to develop his UI.
how to design a custom control library and plug in.
i want to design a custom control (Ui widget library) , this library can be used by any IDe developer to develop his UI.
how to design a custom control library and plug in.
I'm having a custom control and I added a vertical scroll bar to it. After scrolling down and then up what all controls are added are disappeared. Controls added are (checkboxes, editboxes, browse button).
Scroll works fine. Looks like painting problem but unable to resolve the issue.
code snippet:
void MyCustomControl::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) {
int minpos, maxpos;
GetScrollRange(SB_VERT, &minpos, &maxpos);
maxpos = GetScrollLimit(SB_VERT);
[Code] ....
I have been trying to make a custom control(list box with more features). I know how to setup custom properties, but how do I make it so that the property can be edited in a separate window ?
I think I figured out how to show the form itself, and I don't know how to make the [...] button like :
There's not much Custom Control tutorials out there, and that's really the problem here.
I have the following code where I use the singleton design pattern, but I get the warning:
warning C4715: 'CM::Instance' : not all control paths return a value
Code:
CM& CM::Instance() {
DWORD dwWaitResult = WaitForSingleObject(mutex, INFINITE);
switch(dwWaitResult) {
case WAIT_OBJECT_0:
[Code] ....
How can I fix this warning?
I am struggling with how to efficiently design my class objects to support the outlining of a collection of items. The collection would be sorted but would also have the ability to indent and outdent individual items representing a Parent and Child relationship (see attached).
An item could indent up to 5 levels deep. A summary level would be considered a Parent while items below the summary level would be consider as children.
I am trying to figure out how to create a program that will draw a triangle using *'s with a base the has a user-inputted number of *'s like so:
*
***
*****
It needs to take a user inputted number and draw a pyramid like the above pyramid with the number of *'s in the base matching the user inputted number (i.e., user enters 10, so the triangle has 10 *'s in the base). I figured it would be best to first create a loop to draw out the correct number of *'s before trying to create another loop to draw out the correct number of spaces, to properly align the *'s into a triangle shape.
int width = 0;
int height = 0;
int i = 0;
int leafWidth = 0;
[Code] .....
I get a task: to color the control scrollbar (a gridctrl scrollbar, whatever). In the first attempting I didn't succeded ... So, I started to trying coloring a CListBox scrollbar ... I developed a derived CListBox where I override OnCtlColor:
Code:
HBRUSH CMyListBox::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) {
HBRUSH hbr = CListBox::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
// TODO: Return a different brush if the default is not desired
if(CTLCOLOR_STATIC == nCtlColor) {
pDC->SetTextColor(RGB(200, 34, 0));
[Code] ....
I colored everything, except scrollbars ) ... I attached the app demo ...
I already tried this solution: [URL] ....
but in my case, didn't worked ...
My question is, how can I color the control scrollbar ? It is possible ? If yes, how ?
I want to control my toolbar dynamically.
First I added tool bar with style including TBSTYLE_EX_MIXEDBUTTONS | TBSTYLE_LIST.
Then added the tool bar to a rebar. I added tool tips by handling TTN_GETDISPINFO.
Everything works fine. But when I try to add text to right of the button, the text
gets added but button size is not automatically changing.
The following code is not working .
void SetToolbarText(HWND& hwndToolbar,LPTSTR szText)
{
ATLASSERT(::IsWindow(hwndToolbar));
TBBUTTONINFO tbbi = { 0 };
tbbi.cbSize = sizeof(TBBUTTONINFO);
tbbi.dwMask = TBIF_TEXT;// | TBIF_SIZE;//if I add TBIF_SIZE code will work!
tbbi.cchText = 0;
tbbi.cx = 200;
[Code]...
I have a mfc project with a List Control (Report View).
When I run the project, the list control appears in the middle of the window instead of appearing where I placed it.
Is there a qay to make it stay where I need it?
I have a child window above an edit control.
When the position of the control in the parent in the child on top of it is clicked the control gets topmost. Is there any way to prevent this?
I need Edit Box and List Box controls on the Parent Window or Main Window of my application. I know how to use them in dialogs ..
I will need to Read/Write/Modify data from Edit Box . How to do this ?
I'm have a bitmap that's about 4000x2000. But I want to put it all into a picture control. I attempted to use stretchBlt() to shrink it. But it did not work.
Code:
HBITMAP originalImage = CreateDIBitmap(m_picture1.GetDC()->m_hDC,
m_bmiHeader,
CBM_INIT,
(unsigned short *)m_OriginalBits,
[Code]....
I forget how to know when mouse is over controls in dialog.. I want to show a message in status bar when mouse over each control...
View 1 Replies View RelatedIm trying to Uncheck a Checkbox control with following code.
Code:
else if((point.x >= (rcRememPass.left - 4) && point.x <= rcRememPass.right) && (point.y >= rcRememPass.top && point.y <= rcRememPass.bottom))
{
if(m_CheckBoxRemem.GetState() == BST_CHECKED)
m_CheckBoxRemem.SetCheck(0);
else
m_CheckBoxRemem.SetCheck(1);
}
Above code snippet is from OnLButtonUp(). Whereas else part working good why the if part is failing to uncheck the box ?.
Special behaviour of a CEdit-control in a CDialogBar:
My CDialogBar is a member of my MDI-mainframe-class. The menu of the mainframe have an item with an accelerator "r".
Now, if I want to type the letter "r" in my CEdit-control, the menu-item (with the accelerator "r") will be called.
How can I type "r" into the CEdit-control? How can I handle it?
I am trying to populate a list control with the filename and maybe some other thing when i push the OK button....
Code:
void CThisDlg::OnOK() {
int iItem = 0, iActualItem = 0;
HANDLE hFind;
WIN32_FIND_DATA data2;
int iNum = 0;
hFind = FindFirstFile("*.*", &data2);
[Code] ....
When i push ok, no files get loaded. I also attached a image
In a MDI-app with some toolbars and statusbar I created also a controlbar which can be docked to the left side. My problem now: how do I get the exact height of the controlbar?
In CalcDynamicLayout I set the height for the docked state to the height of the mainframe. This value is too big, but it will work basically.
But how can I get the exact height of the controlbar?
I'm writing an ActiveX control. In one of the functions I'd like the user to be able to pass me a pointer to a buffer that they created which I can then fill with data and return a success/error code. What's the appropriate way to do this? I was thinking about just using an OLE_HANDLE type for the parameter and then casting that to pointer inside the OCX but I'm not sure if that's safe or the right way to do it.
View 2 Replies View RelatedI am using a slider control on a dialog box. I have handled OnLButtonDown for Slider control. But I wonder its not getting called whenever I click on the slider thumb, instead it gets called when I click anywhere on the dialog.
I want to handle OnLButtonDown when I click on the slider thumb.
There is a list control in Windows.
When I create a list control I can assign an image list to it with the ListView_SetImageList().
By default, when just created there is no image list assigned as can be checked with ListView_GetImageList().
Now, what should happen when I do following call:
Create list control.
Create an image list
Get the current image list
Assign an image list to list control
Display some items
Assign an old image list to list control.
Does strings on the list control should be indented?
ON_WM_CTLCOLOR(...) works for all the other controls but not the tab control.
Code:
void CEasyWebStoreUploaderDlg::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
DDX_Control(pDX, IDC_TAB_CTRL, m_tabCtrl);
DDX_Text(pDX, IDC_EDIT_STATUS, m_strServerStatus);
DDX_Text(pDX, IDC_EDIT_UPLOAD_RESULTS, m_strUploadResults);
}
Here is an imgur link to my current homework. [URL] .....
As you can see on there I have them listed on which ones are supposed to be sentinel and which ones are supposed to be count control loops. This is currently what I have:
Code:
#include <iostream>
#include <cmath>
#include <iomanip>
#include <fstream>
using namespace std;
void main() {
int count = 0;
int sum = 0;
[Code] ....
This class has me stumped currently and I am having a hard time breezing through the class at my instructors speed. So I don't want to get too far behind.
Right now this program is giving me an error that opens CMD and gives me infinite lines of "0's".
This is what I try to achieve:
1. Using a CScrollView as the View class type.
2. Using Document/View Architecture.
3. Insert multiple Common Controls such as CEdit, CButton, CListCtrl into the View dynamically.
4. All the Common Controls is base on a template created by user. So I do not know the quantity of the Common Controls.
This is the plan on how to do it:
1. In View OnInitialUpdate(), read the template to get all necessary info on the Common Controls to be create.
2. In View OnInitialUpdate(), create all Common Control. Some Common Control may not have WS_VISIBLE as it may not needed at initial stage.
3. In View OnUpdate(), I need to refresh the Common Control properties such as is its text, position or its visibility. This should happen if Document call UpdateAllView().
My Question:
1. Is this a normal & useable plan?
2. Do I miss other functions for any other messages?
3. Still wondering if I need to involve any coding in OnDraw() for this plan.
How would I go about selecting a subitem in a listview control with just pure Win32 API? I know it's possible with MFC... but I can't use MFC for this project. Right now, when you click on a subitem , it selects only the first column of the row . I used the following by referring internet. But its not working.
HTML Code:
iSlected=SendMessage(hList,LVM_GETNEXTITEM,-1,LVNI_FOCUSED|LVNI_SELECTED);
ListView_SetItemState(hList,iSlected,LVIS_FOCUSED|LVIS_SELECTED,0x000F);
I have a tabbed dialog with a couple of Separate dialogs. I created classes of CDialog for each dialog. Im trying to get the text from the edit control from the tabbed dialog and it appears in a message box when I press a button on the main dialog.
Code:
myDialog test;
test.UpdateData(TRUE);
CString bla = test.m_edit1;
test.UpdateData(FALSE);
MessageBox(bla,bla,MB_OK);
The m_edit is a variable of CString for the edit box
it gives me a error and crashes.
How do I get the text from the other dialogs edit control?
I want to show a list of graphical items in 1 or 2 columns (user selected). I will draw the items (owner-draw). I tried many hours today to find a solution with clistctrl. Is it possible to make it with clistctrl?
View 14 Replies View Related