|
No problem.
> The problem with computers is that they do what you tell them to do and not what you want them to do. <
|
|
|
|
|
Hi All
How can i change the tab control color?I have Dialog and this dialog i have taken Tab Control.And i want to chnge the Tab Control color.Plz help me
|
|
|
|
|
|
I check this url but not working my side.It might be my fault.But Can you give me any running example.
Thanks for reply
|
|
|
|
|
Here is the sample code from that page.
It gave a pure Win32 example, and the below MFC example.
Iain.
The brushes referred to are part of the dialog class and were created when the dialog constructor was called.
Override the OnDrawItem() method for your CDialog derived class using Class Wizard and add the following code, changing variable names as neccessary. It is important to note that a pointer to a CDC object from the handle of the DC passed in via the LPDRAWITEMSTRUCT is required, otherwise only the background of the text will be the desired color.
#define RED RGB(255,0,0)
#define YELLOW RGB(255,255,0)
#define MAGENTA RGB(255,0,255)
#define WHITE RGB(255,255,255)
#define BLUE RGB(0,0,255)
void CMFCTabCtrlDlg::OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpdis)
{
CDialog::OnDrawItem(nIDCtl, lpdis);
char szTabText[100];
RECT rect;
UINT bkColor;
CBrush *cbr;
TC_ITEM tci;
CTabCtrl *pTabCtrl = (CTabCtrl *)GetDlgItem(IDC_TAB1);
if (pTabCtrl->m_hWnd == lpdis->hwndItem)
{
switch (lpdis->itemID)
{
case 0:
cbr = &m_brRed;
bkColor = RED;
break;
case 1:
cbr = &m_brYellow;
bkColor = YELLOW;
break;
case 2:
cbr = &m_brMagenta;
bkColor = MAGENTA;
break;
case 3:
cbr = &m_brWhite;
bkColor = WHITE;
break;
case 4:
cbr = &m_brBlue;
bkColor = BLUE;
break;
}
memset(szTabText, '\0', sizeof(szTabText));
tci.mask = TCIF_TEXT;
tci.pszText = szTabText;
tci.cchTextMax = sizeof(szTabText)-1;
pTabCtrl->GetItem(lpdis->itemID, &tci);
CDC *dc = CDC::FromHandle(lpdis->hDC);
dc->FillRect(&lpdis->rcItem, cbr);
dc->SetBkColor(bkColor);
TextOut(lpdis->hDC,
lpdis->rcItem.left,
lpdis->rcItem.top,
tci.pszText,
lstrlen(tci.pszText));
}
}
|
|
|
|
|
i need to attach a icon from a bmp file to mouse cursor in an application which is made in VC6.
please suggest me a way how to achieve this task.
is there any API in Windows by which we do the needful.
modified on Friday, December 5, 2008 12:05 AM
|
|
|
|
|
vikas choudhry wrote: is there any API in Windows by which we do the needful.
SetCursor! with combination of various api CreateCursor/LoadCursor/LoadImage!
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow Never mind - my own stupidity is the source of every "problem" - Mixture
cheers,
Alok Gupta
VC Forum Q&A :- I/ IV
Support CRY- Child Relief and You/xml>
|
|
|
|
|
thanks alok
alok can you please describe it in more details that how would i load a bmp file from system to attach it to cursor.
|
|
|
|
|
hey i am very new to it...so please can somebody help me out in this. please give me direction how to proceed for it.
|
|
|
|
|
You need to use of LoadCursor or CreateCursor and then use of theri handle on the SetCursor.
|
|
|
|
|
i used LoadImage as i need to load a bmp image directly from a location in my machine and then pass the handler in setcursor but it didn't work.
please help me.
|
|
|
|
|
|
thanks hamid.
but i think what i need is something diffrent from it.
my requirement is that when we press a button a browser window opened and from there we choose a bmp image which after selection become mouse cursor.
may be as i am new in this that's why i am taking so much time to understand it.
please teel me the way that how to achieve it , i mean how to attach icon on cursor in this way.
|
|
|
|
|
Did you see that article it was good point for start I think you want to use of dynamic bmp or icon files for cursor,right?
(BTW dont forget to give votes to my posts).
|
|
|
|
|
yes it was really a good article but i could not relate it with my requirement.
yes you are right i want to use bmp icons dynamically.
(i assure you that i will give vote to all your posts )
|
|
|
|
|
So whats wrong see GetMaskBitmaps on that article you can be read your bmp file of anywhere cd/hard or resoruce of your project,you need to a handle(hbitmap) then GetMaskBitmaps converts its color to 0..255 for height and width (its a suggestion dont use of hight bmp files for example 1024x768 because you must be wait for long time and answer is light for two loop on that article.)
|
|
|
|
|
hmm..okk...i do more deep study of your artice and even after that i wont get any solution then i wont hesitate to ask you for further help
|
|
|
|
|
You can ask of me and I will be glad of help to you.
|
|
|
|
|
hii hamid
i have tried it but i got stucked one place.
you have used "m_hSourceBitmap = GetCursorBitmap();" in function "void CColorCursorTestDlg::OnCreateCursor() " but how will i get bitmap of my bmp image which is stored somewhere in hard disk.
i tried Loadimage but it was returning null , i dont know why but it is not working.
tell me the way ..how to proceed
|
|
|
|
|
If you are using of bmp files LoadImage must be work I think you need to change some parameters on the LoadImage but I suggest CImage class like this
#Include AtlImage.h
CImage m;
m.Load(_T("c:\\1.bmp"));
HBITMAP hbit=m.Detach();
Of one Essence is the human race
thus has Creation put the base
One Limb impacted is sufficient
For all Others to feel the Mace
(Saadi )
|
|
|
|
|
i have tried much but still "Loadimage" function is returning null. my application is in VC 6 and its not finding that header file "AtImage".
my code is like
static void C_FAR S_Win1_mousein L1(App1Win1Ptr, win)
{
HANDLE handle;
ImagePtr image;
handle = LoadImage(0, "E:\images3.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
SetCursor( handle);
WGT_SetBgColor(win->SArea1, COLOR_Red());
}
i am trying to load that cursor during run time.
|
|
|
|
|
thanks hamid i successfully completed my task. your post were really very helpful.
i just want one more favour that how you update fields of parameter which you pass in Iconinfo. i.e. hAndMaskBitmap and hXorMaskBitmap as in function "GetMaskBitmaps" you fill "hAndMaskDC" and "hXorMaskDC" with masking bit value in that for loop. so how these value stored in hAndMaskBitmap and hXorMaskBitmap.
please clear this concept to me as it will be really very helpful to do further work in same area.
|
|
|
|
|
You have two memory device context (hAndMaskDC" and "hXorMaskDC) and two compatible bitmap with device (hAndMaskBitmap,hXorMaskBitmap ) on the loop you use of SetPixel for set pixels to specified colors
::SetPixel(hAndMaskDC,x,y,RGB(255,255,255)); or ::SetPixel(hXorMaskDC,x,y,MainBitPixel); with two loops for height and width and finally SelectObject because you want to select this object into the device context that you made it.
(I dont know it was your answer or it was my mistake of your question. ).
Of one Essence is the human race
thus has Creation put the base
One Limb impacted is sufficient
For all Others to feel the Mace
(Saadi )
|
|
|
|
|
It seems for this question I came late!
Of one Essence is the human race
thus has Creation put the base
One Limb impacted is sufficient
For all Others to feel the Mace
(Saadi )
|
|
|
|
|
okk hamid ...let me ask question one by one because i think i could not make my question clear.
first ques-->
i have some doubt in selectobject(di, o1) function, what i understand that it select object o1 in device context di and return new object.
am i right , if not then please help me to understand it.
second ques-->
in function "GetMaskBitmaps" in for loop you use ::SetPixel(hXorMaskDC,x,y,MainBitPixel); which set color in hxorMaskDC but in function "CreateCursorFromBitmap" you pass "iconinfo.hbmColor = hXorMask;" in Iconinfo structure. here i have confusion that when you set color in hXorMaskDC then how you update it in hXorMask.
it may be a stupid question but really i am confused in it.
third ques-->
in function "GetMaskBitmaps" after setting color value in for loop you used ::DeleteDC(hXorMaskDC);
::DeleteDC(hAndMaskDC);
::DeleteDC(hMainDC);
which shows that you have deleted these device context then how can we use it later in "CreateCursorFromBitmap" function.
these are only small doubt i have...
|
|
|
|