|
hi all
i want to set a buttons background color . i tried WM_CTLCOLOR message.
it works properly for the EDITs and sets their background. but when i use it for buttons , its color doesnt change.
does somebody know how to change a PUSHBUTTONs background color??
|
|
|
|
|
According to Microsoft, the WM_CTLCOLORxxx approach works for list boxes, the list boxes of combo boxes, button controls, edit controls, static controls, message boxes, and dialog boxes but does not work for push buttons and the CRichEditCtrl. The color of a standard CButton object is determined by system settings. If you want a different color for push buttons, use a CBitmapButton. To change the color of a CRichEditCtrl use its member functions.
So be it
SkyWalker
|
|
|
|
|
thx
and what abuot button's text color??
is it unchangable ? or there is a way?
|
|
|
|
|
hamidreza_buddy wrote:
thx
and what abuot button's text color??
is it unchangable ? or there is a way?
You can create your own class of buttons using control subclassing , where you will be able to change text color and bk color very easily.
Look here[^]
"Success is the ability to go from one failure to another with no loss of enthusiasm." - W.Churchill
-- modified at 5:46 Sunday 2nd October, 2005
|
|
|
|
|
|
|
i want to try to make a program that will allow the user to design a custom destop theme and change the system desktop theme to the one you design. does anyone know how to change the system background, font, font size, font color, window color, cursor or anything else along these lines?? i have searched the web a little and have not been able to find anything yet. any help would be greatly appreciated.
Thank You in advance for any help you can give me
- Kyle
|
|
|
|
|
When I create the MFC dialog application (with the manifest generation enabled) my dialog should use the XP visual style common controls, right?
Well, it doesn't! Is there anything else I have to do?
-- modified at 19:18 Saturday 1st October, 2005
|
|
|
|
|
See this[^] MSDN article on how to enable XP visual styles in your VC6/VC7.x generated app.
/ravi
My new year's resolution: 2048 x 1536
Home | Music | Articles | Freeware | Trips
ravib(at)ravib(dot)com
|
|
|
|
|
Thank you. It is working now.
And it looks much nicer now
|
|
|
|
|
|
Can anyone please tell me why this code code gives a segmentation? The
class NonLeafTrieNode
{
public:
NonLeafTrieNode(){};
NonLeafTrieNode(char);
private:
friend class Trie;
NonLeafTrieNode **ptrs;
char *letters;
int endOfWord;
bool isLeaf;
};
The code below are in the Trie class and I use this to access the isLeaf variable in the class.
int flag = p->ptrs[pos]->isLeaf;
if (!(pos == -1) && flag)
If I keep the isLeaf variable a boolean the code gives a segmentation fault, but whenever I make it a integer the code works perfectly.
Can anyone tell me why this happens.
Thanks a lot
LiquidE_SA
|
|
|
|
|
The implication from your code is that -1 is a possible value for pos . In that case, p->ptrs[pos] is never going to work...
|
|
|
|
|
LiquidE_SA wrote:
int flag = p->ptrs[pos]->isLeaf;
flag is an int and you are trying to assign a bool to it. When you change isLeaf to an int the types are the same.
"You're obviously a superstar." - Christian Graus about me - 12 Feb '03
"Obviously ??? You're definitely a superstar!!!" - mYkel - 21 Jun '04
"There's not enough blatant self-congratulatory backslapping in the world today..." - HumblePie - 21 Jun '05
Within you lies the power for good - Use it!
|
|
|
|
|
bool != int
--
Look straight into the light!
|
|
|
|
|
LiquidE_SA wrote:
int flag = p->ptrs[pos]->isLeaf;
change it to
bool flag = p->ptrs[pos]->isLeaf;
-prakash
|
|
|
|
|
I want to know that how to use SIP,H.323,RSVP,RTCP protocols in VC++.
|
|
|
|
|
On Sep 22 I put up this query, but without getting any answer:
I have the webbrowser in a program but want also to access the equivalent of this functionality:
internet explorer: Tools/internet options/general/fonts/language script
I expect it is not something exposed in the webbrowser, but otherwise.
Does anyone know how it can be done ?
SINCE then I have found how to do it, and since it is relatively straightforward, I am surprised not to get any answer.
The solution is given in the Microsoft book, Programming the Internet Explorer.
It all hinges on the lines:
hr=lpDispatch->QueryInterface(IID_IOleCommandTarget, (void**)&lpOleCommandTarget);
hr=lpOleCommandTarget->Exec(pguidCmdGroup,nCmdID,0,NULL,NULL);
where nCmdID =3 if you want the Internet Options.
If you are interested you will find all the details in the book.
Raymond Mercier
|
|
|
|
|
Thanks for your post, Raymond. Is this[^] the book to which you're referring?
/ravi
My new year's resolution: 2048 x 1536
Home | Music | Articles | Freeware | Trips
ravib(at)ravib(dot)com
|
|
|
|
|
Yes, that's it:
Programming Microsoft Internet Explorer 5 (Microsoft Programming Series) (Paperback,)by Scott Roberts
The material you need is on pp.259-262.
Although the book was written for IE5, and I am now using IE6, and Visual Studio 6 & 7, the code does not need to be changed, not even the GUID for CGID_WeBrowser.
Raymond
|
|
|
|
|
How can I redraw the full screen (all the windows)?
|
|
|
|
|
i guees you are talking of invalidate,or then go for GetDesktopWindow()(desktop handle) then invalidate that,i havent done its just a guess ,if you mean one from program then just invalidate().
|
|
|
|
|
Thanks for the response.
Unfortunately it didn't work
The reason I need to erase/redraw/invalidate everything is becouse I am drawing on the screen DC (GetDC(NULL)) but at the some point I want to revert changes.
I guess enumerating all windows and invalidating the visible ones could work but I tought the might be a better way...
|
|
|
|
|
InvalidateRect(NULL, NULL, TRUE) will invalidate all windows.
Now I need something like UpdateWindow or RedrawWindow, but for all windows.
-- modified at 13:22 Saturday 1st October, 2005
|
|
|
|
|
Enumerate all the windows and if the WS_VISIBLE style bit is 1, then set it to zero then back to 1 and this toggle will force a repaint. Send an F5 keystroke to the desktop window and it will redraw all the icons etc.
OR since you want to use the entire screen, create a window with no frame or menu and size it to the display then get the DC for that window. When that window is closed/destroyed all the other windows/desktop will redraw on their own. This is how many screen savers work!
|
|
|
|