|
I want to not save the directory browse in a cfiledialog.
To do this I use the OFN_NOCHANGEDIR flag as it is said everywhere.
That doesn't work (
The directory is saved in spite of the OFN_NOCHANGEDIR flag.
Does anyone know this problem? How can I solve it?
Thanks for your help
Forest
|
|
|
|
|
how do u get the arrow key events in a window??what is the handler uses this??
|
|
|
|
|
Trap Window WM_KEYDOWN Message and check nChar (in mfc) and wParam( in Win32api) for these code
VK_LEFT or 25 --> LEFT ARROW key
VK_UP or 26 -->UP ARROW key
VK_RIGHT or 27 -->RIGHT ARROW key
VK_DOWN or 28 --> DOWN ARROW key
-----------------------------
"I Think this Will Help"
-----------------------------
Alok Gupta
visit me at http://www.thisisalok.tk
|
|
|
|
|
Hi,
we have an active x controls for webcam interface and i need to create a DLL with VC and use the same in a 3rd party application.
i.e i need to control the webcam through DLL
During creation of the DLL i dont have any issues, while calling the function from a console application - am getting windows assertion failed error..?
Can anyone guide me the settings if i need to make any inorder to control the dll which has activex in it..
Thanks in advance,
Pramod.
|
|
|
|
|
Hello,
Can anyone help me out with a function for converting hex numbers to dec numbers?
Thanks
Mythri
|
|
|
|
|
Little Hack
char strDex[10];
int hex=0x10,iDec;
sprintf(strDec,"%d",hex);
iDec=atoi(strDec);
-----------------------------
"I Think this Will Help"
-----------------------------
Alok Gupta
visit me at http://www.thisisalok.tk
|
|
|
|
|
Little Hack
char strDex[10];
int hex=0x10,iDec;
sprintf(strDec,"%d",hex);
iDec=atoi(strDec);
and iDec contain required Decimal Number
-----------------------------
"I Think this Will Help"
-----------------------------
Alok Gupta
visit me at http://www.thisisalok.tk
|
|
|
|
|
Numbers are just numbers ! It's just their representation that changes !
For example if you have an integer that is equal to 5, it's binary representation will be 0101, it's hexadecimal representation will be 0x5 and it's decimal representation will be 5. But it is still the same number !!
So your question makes non-sense. Or maybe you want to ask how to print it in hex representation or decimal representation ?? Or maybe you want to convert a string that holds an hex number into a dec number ?? Or what else ... ?
So be more precise in your question.
|
|
|
|
|
You get exactly the same, as hex and dec (and other more) are different representations of the same number!
SkyWalker
|
|
|
|
|
/*I copy these code from Charles Petzold's Programming Windows. The functions in the WM_PAINT Message confused me a lot. Is there anyboday kindly enough to add comments to these function in details, thank you!
*/
#include <windows.h>
#define ID_TIMER 1
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR szCmdLine, int iCmdShow)
{
static TCHAR szAppName[] = TEXT ("DigClock") ;
HWND hwnd ;
MSG msg ;
WNDCLASS wndclass ;
wndclass.style = CS_HREDRAW | CS_VREDRAW ;
wndclass.lpfnWndProc = WndProc ;
wndclass.cbClsExtra = 0 ;
wndclass.cbWndExtra = 0 ;
wndclass.hInstance = hInstance ;
wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION) ;
wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ;
wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ;
wndclass.lpszMenuName = NULL ;
wndclass.lpszClassName = szAppName ;
if (!RegisterClass (&wndclass))
{
MessageBox (NULL, TEXT ("Program requires Windows NT!"),
szAppName, MB_ICONERROR) ;
return 0 ;
}
hwnd = CreateWindow (szAppName, TEXT ("Digital Clock"),
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT,
CW_USEDEFAULT, CW_USEDEFAULT,
NULL, NULL, hInstance, NULL) ;
ShowWindow (hwnd, iCmdShow) ;
UpdateWindow (hwnd) ;
while (GetMessage (&msg, NULL, 0, 0))
{
TranslateMessage (&msg) ;
DispatchMessage (&msg) ;
}
return msg.wParam ;
}
void DisplayDigit (HDC hdc, int iNumber)
{
static BOOL fSevenSegment [10][7] = {
1, 1, 1, 0, 1, 1, 1, // 0
0, 0, 1, 0, 0, 1, 0, // 1
1, 0, 1, 1, 1, 0, 1, // 2
1, 0, 1, 1, 0, 1, 1, // 3
0, 1, 1, 1, 0, 1, 0, // 4
1, 1, 0, 1, 0, 1, 1, // 5
1, 1, 0, 1, 1, 1, 1, // 6
1, 0, 1, 0, 0, 1, 0, // 7
1, 1, 1, 1, 1, 1, 1, // 8
1, 1, 1, 1, 0, 1, 1 } ; // 9
static POINT ptSegment [7][6] = {
7, 6, 11, 2, 31, 2, 35, 6, 31, 10, 11, 10,
6, 7, 10, 11, 10, 31, 6, 35, 2, 31, 2, 11,
36, 7, 40, 11, 40, 31, 36, 35, 32, 31, 32, 11,
7, 36, 11, 32, 31, 32, 35, 36, 31, 40, 11, 40,
6, 37, 10, 41, 10, 61, 6, 65, 2, 61, 2, 41,
36, 37, 40, 41, 40, 61, 36, 65, 32, 61, 32, 41,
7, 66, 11, 62, 31, 62, 35, 66, 31, 70, 11, 70 } ;
int iSeg ;
for (iSeg = 0 ; iSeg < 7 ; iSeg++)
if (fSevenSegment [iNumber][iSeg])
Polygon (hdc, ptSegment [iSeg], 6) ;
}
void DisplayTwoDigits (HDC hdc, int iNumber, BOOL fSuppress)
{
if (!fSuppress || (iNumber / 10 != 0))
DisplayDigit (hdc, iNumber / 10) ;
OffsetWindowOrgEx (hdc, -42, 0, NULL) ;
DisplayDigit (hdc, iNumber % 10) ;
OffsetWindowOrgEx (hdc, -42, 0, NULL) ;
}
void DisplayColon (HDC hdc)
{
POINT ptColon [2][4] = { 2, 21, 6, 17, 10, 21, 6, 25,
2, 51, 6, 47, 10, 51, 6, 55 } ;
Polygon (hdc, ptColon [0], 4) ;
Polygon (hdc, ptColon [1], 4) ;
OffsetWindowOrgEx (hdc, -12, 0, NULL) ;
}
void DisplayTime (HDC hdc, BOOL f24Hour, BOOL fSuppress)
{
SYSTEMTIME st ;
GetLocalTime (&st) ;
if (f24Hour)
DisplayTwoDigits (hdc, st.wHour, fSuppress) ;
else
DisplayTwoDigits (hdc, (st.wHour %= 12) ? st.wHour : 12, fSuppress) ;
DisplayColon (hdc) ;
DisplayTwoDigits (hdc, st.wMinute, FALSE) ;
DisplayColon (hdc) ;
DisplayTwoDigits (hdc, st.wSecond, FALSE) ;
}
LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
static BOOL f24Hour, fSuppress ;
static HBRUSH hBrushRed ;
static int cxClient, cyClient ;
HDC hdc ;
PAINTSTRUCT ps ;
TCHAR szBuffer [2] ;
switch (message)
{
case WM_CREATE:
hBrushRed = CreateSolidBrush (RGB (255, 0, 0)) ;
SetTimer (hwnd, ID_TIMER, 1000, NULL) ;
// fall through
case WM_SETTINGCHANGE:
GetLocaleInfo (LOCALE_USER_DEFAULT, LOCALE_ITIME, szBuffer, 2) ;
f24Hour = (szBuffer[0] == '1') ;
GetLocaleInfo (LOCALE_USER_DEFAULT, LOCALE_ITLZERO, szBuffer, 2) ;
fSuppress = (szBuffer[0] == '0') ;
InvalidateRect (hwnd, NULL, TRUE) ;
return 0 ;
case WM_SIZE:
cxClient = LOWORD (lParam) ;
cyClient = HIWORD (lParam) ;
return 0 ;
case WM_TIMER:
InvalidateRect (hwnd, NULL, TRUE) ;
return 0 ;
case WM_PAINT:
hdc = BeginPaint (hwnd, &ps) ;
SetMapMode (hdc, MM_ANISOTROPIC) ;
SetWindowExtEx (hdc, 276, 72, NULL) ;
SetViewportExtEx (hdc, cxClient, cyClient, NULL) ;
SetWindowOrgEx (hdc, 138, 36, NULL) ;
SetViewportOrgEx (hdc, cxClient / 2, cyClient / 2, NULL) ;
SelectObject (hdc, GetStockObject (NULL_PEN)) ;
SelectObject (hdc, hBrushRed) ;
DisplayTime (hdc, f24Hour, fSuppress) ;
EndPaint (hwnd, &ps) ;
return 0 ;
case WM_DESTROY:
KillTimer (hwnd, ID_TIMER) ;
DeleteObject (hBrushRed) ;
PostQuitMessage (0) ;
return 0 ;
}
return DefWindowProc (hwnd, message, wParam, lParam) ;
}
|
|
|
|
|
case WM_PAINT:
hdc = BeginPaint (hwnd, &ps) ;
SelectObject (hdc, GetStockObject (NULL_PEN)) ;
SelectObject (hdc, hBrushRed) ;
DisplayTime (hdc, f24Hour, fSuppress) ;
EndPaint (hwnd, &ps) ;
return 0 ;
-----------------------------
"I Think this Will Help"
-----------------------------
Alok Gupta
visit me at http://www.thisisalok.tk
|
|
|
|
|
/*What I mean is the following code, could you explain that in deepth?thanks!*/
SetMapMode (hdc, MM_ANISOTROPIC) ;
SetWindowExtEx (hdc, 276, 72, NULL) ;
SetViewportExtEx (hdc, cxClient, cyClient, NULL) ;
SetWindowOrgEx (hdc, 138, 36, NULL) ;
SetViewportOrgEx (hdc, cxClient / 2, cyClient / 2, NULL) ;
|
|
|
|
|
|
Hi, everyone.
in my dialog-based application, i want to create a dialog (CMyDialog) that is not owned by the main dialog. i derive a class named CMyThread from CWinThread and create an instance of CMyDialog(modaless dialog) in the InitInstance because i want an instance of CMyDialog has its own message loop, so i create instances of CMyDialog use this function:
CreateMyDialog()
{
AfxBeginThread(RUNTIME_CLASS(CMyThread));
}
if i call CreateMyDialog before the creation of main dialog ,then the dialog will not be owned by main dialog, of course, . but if i call CreateMyDialog after the main dialog has been created, the dialog will be an owned window.
so how to create an instance of CMyDialog without an owner window after the main dialog has been created.
Thanks.
|
|
|
|
|
In a dialog I got a CEdit and a ListCtrl. And when I press any A-Z key in the ListCtrl I want that key to be forwarded to the edit controller and focus to be change so that continues writing will be in the CEdit.
The solution I came up with is this. It appears to work.
But I get a bad felling about this solution. Anyone know if this is a correct way of doing this
void CMyListCtrl::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
if( nChar >= 'a'&& nChar <= 'z' || nChar >= 'A'&& nChar <= 'Z')
{
m_pEdit->PostMessage( WM_CHAR , (WCHAR)nChar,MAKELPARAM(nRepCnt,nFlags) );
m_pEdit->SetFocus();
return;
}
CListCtrl::OnChar(nChar, nRepCnt, nFlags);
} Or should I do this from OnKeyDown instead?
/Mathias S.
|
|
|
|
|
I have a problem with an instance of a class. The class member variable instantiated by a class object appears not to be updated to what the user defines at run time.
The problem is to do with the fact that the user-defined variable at run-time is not being used. How do I change that. UpdateData(TRUE); in the change or update events of those variables don't work.
For instance,
<br />
double x = 0;
<br />
CKuchukDlg MyClass;<br />
MyClass.m_dWellRad = x;<br />
At run-time, the proigram crashes. On debugging, I found that the compiler isn't using the value ascribed by the user(me) as x. After using x=0, x later becomes some bogus number: -9.2559631349318e+061. When i don't initialize my variable x, i get a warning; but still at run-time, x becomes this bogus number again, not the value set at run-time.
How can i capture the value set at run-time??
<br />
void CKuchukDlg::OnUpdateWellrad() <br />
UpdateData(TRUE);<br /> doesn't help. Neither does it help on the event-->void CKuchukDlg::OnChangeWellrad()
|
|
|
|
|
Hello everyone
I have a window with two scrolls, and I want to get WM_VSCROLL in function "PreTranslateMessage(MSG* pMsg) ". Though I add "case WM_VSCROLL:" to soource code, but I can not get it. Because the message does not come into "PreTranslateMessage(MSG* pMsg)". How to get it?
Thanks.
-Freehawk
|
|
|
|
|
Overide WM_VSCROLL message in your Window
if you are using the MFC
the Function Declaration is like this
OnHScroll(UINT nSBCode,UINT nPos,CScrollBar *pScrollBar)
where pScrollbar contain pointer to that Scrollbar if it is not Window Default Scrollbar.
In Win32
lParam contain the pointer to The Scrollbar you have to typecast that.
-----------------------------
"I Think this Will Help"
-----------------------------
Alok Gupta
visit me at http://www.thisisalok.tk
|
|
|
|
|
In fact I want to handle something before WM_VSCROLL happens. I dont know how to catch.
-Freehawk
|
|
|
|
|
Are you using switch case like this
switch(LOWORD(pMsg->message))
or using some other method
-----------------------------
"I Think this Will Help"
-----------------------------
Alok Gupta
visit me at http://www.thisisalok.tk
|
|
|
|
|
Normally you write your code inside OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
Should you still want to intercept the WM_SCROLL message, then use the PreTranslateMessage() function of your app class (not the dlg one)
SkyWalker
|
|
|
|
|
Is there any way to get a pointer from CWinApp to CView or generally to access CView public members and methods from within CWinApp?
Thanks.
|
|
|
|
|
i program an MDI text editor, the MFC template consist of a ****Doc derived from CDocument and a ****View derived from CEditView class, but i have problem when save the text i entered, i wanna use the serialize() function in the ****Doc, i've intended to get a pointer to the CEditView and get the chars in CEditView then to save it by ar<
|
|
|
|
|
Hi all:
Just these days I've been bothering by the Windows Mapping Mode a lot. I'm using the Charles Petzold's Programming Windows and when I see the chapter about GDI Mapping Mode I can't really understand what it is all about. Maybe some other materials will help.
Does anyone has any reference material about Mapping Mode?Or give me a little explanation!
|
|
|
|
|
when mdi application run,child window is default miximize size window.
how i can do???
|
|
|
|
|