|
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???
|
|
|
|
|
BOOL maximized;
CMDIChildWnd* child = MDIGetActive(&maximized);
if (child && (maximized || child->IsIconic()))
child->MDIRestore();
Ninety-eight percent of the thrill comes from knowing that the thing you designed works, and works almost the way you expected it would. If that happens, part of you is in that machine.
|
|
|
|
|
Dear friends,
I am using std::map. I want to give std::string as a key. But whenever i am giving std::string as a key, compiler starts giving horrible errors. I checked both in VC 6.0 and VC 7.0. Here is the program:
#include <iostream>
#include <map>
using std::string;
int main(int argc, char* argv[])
{
typedef std::map<string, string> DICTIONARY;
DICTIONARY m_dictionary;
std::pair< DICTIONARY::iterator, bool > result;
result = m_dictionary.insert(DICTIONARY::value_type("Sincere", "Honest"));
return 0;
}
One of the errors i am getting is:
(139): error C2784: 'bool std::operator <(const std::_Tree<_Traits> &,const std::_Tree<_Traits> &)' : could not deduce template argument for 'const std::_Tree<_Traits> &' from 'const std::string'
Imtiaz
|
|
|
|
|
You forgot to add the following:
#include <string> After adding this #include , you still will get many C4786 warnings: these warnings are entirely harmless and can be supressed with
#pragma warning(disable:4786) // add this to the very beginning of your program These two changes will get you a clean compile. Best,
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
Want a Boost forum in Code Project? Vote here[^]!
|
|
|
|
|
hi all,
I connected with SQL Sever database using C++.I have used ODBC Connection.I added a class which based class is CRecordset..
The problem is when I open the Application it always displaying the "SQL Server Login" Dialog and ask the username and password.
How do I stop appearing that Login Dialog when I openning it?
please any one know this.please help me..
|
|
|
|
|
use CDatabase::noOdbcDialog as the second parameter in OpenEx() method.
Eg; extern CDatabase oDb;
extern CString csConnection;
oDb.OpenEx(csConnection, CDatabase::noOdbcDialog );
this will suppress the login dialog.
Ninety-eight percent of the thrill comes from knowing that the thing you designed works, and works almost the way you expected it would. If that happens, part of you is in that machine.
|
|
|
|
|