|
I believe that you must call InitCommonControlsEx() first
Nish
One little CD gone,
Then two CDs gone,
Then 5 more gone,
For a total 7 gones,
If I was a CD R,
I'd wanna cry,
Cause I'd be just a goner,
For a nasty CD burner.
[funny how frustration wakes up the poet in me]
|
|
|
|
|
Thank You So Much It worked. You are a god!!! I can now get rid of that string crap I had. Thank you. Ummmm god, I have alot more questions.
Add: comctl32.lib to your lib
#include <commctrl.h> // add this to your header
INITCOMMONCONTROLSEX iccex = { sizeof(INITCOMMONCONTROLSEX), ICC_INTERNET_CLASSES };
// Init the common controls.
InitCommonControlsEx ( &iccex );
Grant Cooper
|
|
|
|
|
Hi,
I haver several PropertyPages, I want that when the user presses the apply button, then to update the data in the COM object ( the normal behaviour)...
... But IPropertyPageImpl seems to work in another way, each time I change to another page, the "apply" method is called, then I cannot make difference between one "apply" of page changed or that the user has pressed the "apply" button ...
Is there anyway to check that ?, Thanks in advance, Greetings
Braulio
|
|
|
|
|
hi all,
i used CWinthread created a worker for monitoring a port. in that thread, i need to connect to database.
so, i hope to connect the database at that class and execute sql in the worker thread. but, i can't do so. seems that the worker thread can't access that object. here is the code, pls give me some ideas!!!
CDatabase db;
class CAN
{
CWinThread abc;
static int workerthread;
//static CDatabase db;
}
i tried both setting the CDatabase as global or static. both are not able to access by workerthread.
do you have any idea letting workerthread using out thread's object?
thanks,
jim
|
|
|
|
|
*.h
--------------------------------------
class CAutoObList : public CObject
{
public:
CAutoObList()
{
size = 10;
p = new int[size];
for(int i=0; i<size; i++)
="" p[i]="i;
" }
="" ~cautooblist()
="" {
="" if(="" p="" !="NULL" )
="" delete="" []p;=""
="" int="" size;
="" *p;
="" void="" output()
="" for(int="" i="0;" i<size;="" trace2("%d:="" %d\n",i,p[i]);
="" }
};
class="" a
{
public:
="" cwinthread="" *pthread;
="" a()
="" pthread="NULL;
" ~a()
="" if="" (pthread="" pthread-="">SuspendThread();
delete pThread;
pThread = NULL;
}
}
void testThread();
};
*.cpp
--------------------------------------------------------
CAutoObList autoList;
UINT CAutoObListThread(LPVOID object)
{
// A *pA = ((A*) object);
for(;;)
{
autoList.Output();
Sleep( 2000 );
}
return 0;
}
void A::testThread()
{
if( pThread == NULL )
pThread = AfxBeginThread(CAutoObListThread, this,THREAD_PRIORITY_HIGHEST);
}
output:
-----------------
0: 0
1: 1
...
9: 9
hope can help!
|
|
|
|
|
Hi,
i always disliked the behaviour of Edit controls and edit controls in combo boxes when pressing the RETURN key.
I just wrote a program using WTL and tried to derive a new class from CEdit and handling the WM_KEYDOWN message myself to suppress the sending of the RETURN key event to the controls parent. All key presses are sent to my handler EXCEPT the RETURN and the ESC key.
What do i have to do in order to make this thing work ???
Thanx in advance !
Erich Führer
|
|
|
|
|
check "want return" in controls properties, as far as i know, and then u can type enter in multiline edits
|
|
|
|
|
or u have to add PreTranslateMessage() and the catch VK_RETURN
|
|
|
|
|
Yup,
i already got that far. The problem i have is that i cannot override the PreTranslateMessage function that easily within the Windows Template Library. It sits within a class called CMessageLoop and i have the fear that i have to derive a class from that and build a whole new CEdit class from that setup. I am just interested if there is an easier way to do that
Erich Führer
|
|
|
|
|
sorry, i didnt get that far
|
|
|
|
|
When a edit control isn't multi-line or the ES_WANTRETURN style isn't set, then the edit control won't respond with DLGC_WANTALLKEYS to the WS_GETDLGCODE message from the dialog box.
Try overriding WS_GETDLGCODE to add DLGC_WANTALLKEY.
But, I really have to question why you want to change this behaviour. For your own personal application, do what you want. But for an application that is to be distributed or sold, it is a HUGE mistake to change the expected UI just because you don't like it. People will just report this as a bug.
Tim Smith
I know what you're thinking punk, you're thinking did he spell check this document? Well, to tell you the truth I kinda forgot myself in all this excitement. But being this here's CodeProject, the most powerful forums in the world and would blow your head clean off, you've got to ask yourself one question, Do I feel lucky? Well do ya punk?
|
|
|
|
|
Hi All,
I'm considering undertaking a little project of my own, and came up with a idea for what I wish to do but currently cannot.
The idea is to simply create a program that gets the video stream from my digital video camera. At the moment I have several programs that can display what is incoming over firewire, including capturing programs and even Explorer in Windows XP.
The problem with all of these is that they are in a pissy little window that cant be made any bigger or maximized.
The program I want to make will simply allow the video stream to be displayed in a resizable window, or maximized to take the full screen. I might add functionality to capture to avi files but first things first that's what I want to acheive. Just a program to watch the video!!!
So if anyone could point me to any information on how to program with the 1394 interface or what I should look at to write this program. I'm pretty new to window programming so this is quite ambitious for me, and so far I have only done a little bit of programming with MFC, but I've got a fair bit of spare time so i'll give anything a go!
Thanks for any advice!
-Mark
|
|
|
|
|
Hello.
I have a doc/view program. The view was derived from CEditView. It however, would not display text when I open a text file with text in it.
For example:
Source file:
---
a
b
c
---
When I open that file up, the program copies the text into a CStringArray object. I can change any line by adding or removing text. However, the program will not display the text in view. The only way to get it to display the text is if I type in the text manually.
The view was derived from CEditView. CEditView allows access to the CEditCtrl. Nonetheless, I cannot find a way to *insert* a CString into the CEditCtrl inside of CEditView. Furthermore, I tried drawing the text, but view still would not display anything.
Is it possible to add text or display text in the CEditView without having to manual type it in? CEditCtrl returns a CEdit reference object. There is a function, GetLine(line, string) to get text from a specific line. However, there are no functions to set the text at a specific line.
Thanks,
Kuphryn
|
|
|
|
|
You need to select a range and then call WM_SETSEL to replace it with a given string.
Christian
The tragedy of cyberspace - that so much can travel so far, and yet mean so little.
"I'm somewhat suspicious of STL though. My (test,experimental) program worked first time. Whats that all about??!?!
- Jon Hulatt, 22/3/2002
|
|
|
|
|
I've got a horizontal scrollbar and an edit box that displays the scrollbar's position. I've got it so that the mouse can drag the scrollbar cursor and both arrows on the scrollbar are enabled. Anyways, here are my questions:
1. How do I make it so I can click on a position on the scrollbar and have the cursor go there?
2. Is there anyway to increase the speed of the scrollbar cursor's movement when one of the side arrows is pressed down?
3. Say the scrollbar cursor is on the right side and I drag it all the way to the left quickly. When I let go of my mouse outside the scrollbar region the cursor then returns to the right side instead of staying on the left. How do I fix this?
|
|
|
|
|
ejw wrote:
How do I make it so I can click on a position on the scrollbar and have the cursor go there?
Handle the WM_SCROLL message. The wParam specifies the type of scrolling action. It's SB_PAGELEFT and SB_PAGERIGHT for the kind of operation you described.
ejw wrote:
Is there anyway to increase the speed of the scrollbar cursor's movement when one of the side arrows is pressed down?
AFAIK, you can only do this with spin controls.
ejw wrote:
Say the scrollbar cursor is on the right side and I drag it all the way to the left quickly. When I let go of my mouse outside the scrollbar region the cursor then returns to the right side instead of staying on the left. How do I fix this?
Handle the WM_SCROLL message. The wParam is SB_RIGHT .
/ravi
"There is always one more bug..."
http://www.ravib.com
ravib@ravib.com
|
|
|
|
|
Handle WM_VSCROLL or WM_HSCROLL; depending on the value of wParam, adjust the current position using SetScrollPos(). It's up to you how far each action scrolls.
#1 might be a bit tricky, since clicking anywhere on the scrollbar apart from the arrows and button just triggers SB_PAGELEFT/SB_PAGEDOWN or SB_PAGERIGHT/SB_PAGEUP ; you might be able to calculate the correct position based on the current mouse position though.
Developers that like shiny objects also dig case mods and scratch-and-sniff stickers. Klaus Probst, The Lounge
|
|
|
|
|
Thanks for the help, but I'm still not sure how to handle the second question. I'm not familiar with spin controls.
|
|
|
|
|
I am trying to use hash_map in C++.NET, but it appears that it can only handle numeric value types?! I am needing to use a hash_map of wstrings/wstrings because the conventional map sorts, while a hash_map doesn't sort (what I need). I use the examples that Microsoft provides, but of course they all use integers as the data type. I can compile with integers and other numeric types, but the second I try to use anything else I get an error in <functional>. It says that it can't convert wstring to size_t! This means that hash_map only takes numbers?! Tell me this can't be true. Aren't these templates?
I was so excited when I saw VC7 had <hash_map> and <rope> (VC6 didn't), but now it looks like it doesn't work :'-(
Is there maybe a way to force map to not sort. I don't know of any sorting functors that actually prevent sorting in a map. The STL docs say to use hash_map to prevent sorting, but I guess that's not possible if my compiler doesn't know how to use templates correctly. Any help would be great! Thanx!
Blizzy
|
|
|
|
|
What does your code look like. Please remember to turn off HTLM tags so your < and > appear in your post.
Christian
The tragedy of cyberspace - that so much can travel so far, and yet mean so little.
"I'm somewhat suspicious of STL though. My (test,experimental) program worked first time. Whats that all about??!?!
- Jon Hulatt, 22/3/2002
|
|
|
|
|
Thanks for the interest, Christian. Here is the block of code that does work:
hash_map<float,float> intmap;
intmap.insert(pair<float,float>(5,.7) );
and here is what doesn't work:
hash_map<wstring,wstring> intmap;
intmap.insert(pair<wstring,wstring>(L"",L"") );
All I did was change "int" to "wstring" and the values to blank wide strings. The compiler complains about a type cast between wstring and size_t. The compiler points to this block of code in the file xhash as being the problem:
size_t operator()(const _Kty& _Keyval) const
{ // hash _Keyval to size_t value
return ((size_t)_Keyval);
}
Perhaps I am doing something wrong, but I have never had problems with templates before like this. Thanks for your help.
Blizzt
|
|
|
|
|
I suspect you may need to provide the algorithm for getting a key out of a string before you can pass a string in. I'm not sure though, if you're still stuck I'll have a look at home tonight. I've been itching to in any case
Christian
The tragedy of cyberspace - that so much can travel so far, and yet mean so little.
"I'm somewhat suspicious of STL though. My (test,experimental) program worked first time. Whats that all about??!?!
- Jon Hulatt, 22/3/2002
|
|
|
|
|
To use hash_map, you object must be able to provide a hash value. Thus the failure to type cast to an int.
Tim Smith
I know what you're thinking punk, you're thinking did he spell check this document? Well, to tell you the truth I kinda forgot myself in all this excitement. But being this here's CodeProject, the most powerful forums in the world and would blow your head clean off, you've got to ask yourself one question, Do I feel lucky? Well do ya punk?
|
|
|
|
|
To use hash_map, you object must be able to provide a hash value.
I'd suspect this is both right and wrong.
Your key must ...
/Mike
|
|
|
|
|
The compiler complains about a type cast between wstring and size_t.
size_t operator()(const _Kty& _Keyval) const
{
return ((size_t)_Keyval);
}
And indeed it seems the compiler should complain here. You must provide a size_t returning conversion function for wstring.
Now I don't know if that size_t is a map::size_t or ::size_t, but perhaps something like the following can help:
size_t operator size_t(const wstring& w)
{
return your_wstring_to_size_t_hash_function(w);
}
/Mike if this works I wrote it, if not I don't know who wrote it
|
|
|
|