|
If you add to a file, it's going to increase in size. There is no way around this. This is a very odd requirement.
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
|
|
|
|
|
hi all,
I want to draw 3D object like a ball using GDI+ Graphics,Brushes..Can any body Guide me to do it?
Thanks in advance..
|
|
|
|
|
dear sir.
i am an MSc studient, I need some informations about my project which its titled "image compression using multiwavelet transform" (source code program to do it)in visual C++
with my regards
|
|
|
|
|
Do you know of any such api or function which enlists applications?
eg, Internet explorer,Word,Power point etc.
Also do you know of any api which enlists the the hardware devices like
mouse,keyboard,NIC etc
Please tell about these apis and their header files
Thanks a lot
|
|
|
|
|
brilliant101 wrote:
Do you know of any such api or function which enlists applications?
eg, Internet explorer,Word,Power point etc.
To get a list of running processes, use Process32First() and Process32Next() .
brilliant101 wrote:
Also do you know of any api which enlists the the hardware devices like
mouse,keyboard,NIC etc
Please tell about these apis and their header files
This is exactly what SetupDiEnumDeviceInfo() and SetupDiEnumDeviceInterfaces() are for.
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
|
|
|
|
|
Hi,
I develop a multi langugage support GUI screen in SDK, The appropriate language font doesn't displayed in dialog control, i done the settings in windows XP. But it doesn't displayed.
plz write your suggestion.
Regards,
Inbha.
|
|
|
|
|
Hi,
I'm trying to construct a library which features a class that should be able take a pointer to any user-defined function (preferably in a user-friendly way). Now, I've tried a templated approach which seems to work, but inheriting from template classes seems rather a pain and dito for all the different function pointer types. Small example:
<br />
#pragma once<br />
<br />
template < typename _TReturn, typename _TArg><br />
class IExecute<br />
{<br />
public:<br />
typedef typename _TReturn _return_type;
typedef typename _TArg _arg_type;
typedef void _class_type;
<br />
virtual ~IExecute(void) = 0;<br />
<br />
virtual _TReturn Execute(_TArg _Arg) = 0;
};<br />
<br />
template < typename _TReturn, typename _TArg><br />
inline IExecute< _TReturn, _TArg >::~IExecute(void)<br />
{ }<br />
<br />
template < typename _TClass, typename _TReturn = unsigned int, typename _TArg = void * ><br />
class CExecuteMember : public IExecute < _TReturn, _TArg ><br />
{<br />
protected:<br />
typedef _return_type (_TClass::*_ptr_type)(_arg_type);
typedef typename _TClass _class_type;
<br />
_class_type * m_lpClass;
_ptr_type m_lpRoutine;
<br />
public:<br />
CExecuteMember(void) : m_lpClass(NULL), m_lpRoutine(NULL)<br />
{ }<br />
CExecuteMember(_class_type * _Class, _ptr_type _Routine) : m_lpClass(_Class), m_lpRoutine(_Routine)<br />
{ }<br />
~CExecuteMember(void)<br />
{ }<br />
<br />
_return_type Execute(_arg_type _Arg)
{<br />
if (this->m_lpRoutine == NULL)<br />
throw std::runtime_error("No routine pointer exists");<br />
if (this->m_lpClass == NULL)<br />
throw std::runtime_error("No class pointer exists");<br />
return (m_lpClass->*m_lpRoutine)(_Arg);<br />
}<br />
<br />
inline _ptr_type GetRoutinePtr(void) const { return this->m_lpRoutine; }<br />
inline _class_type * GetClassPtr(void) const { return this->m_lpClass; }<br />
inline void SetRoutinePtr(_ptr_type _Routine) { this->m_lpRoutine = _Routine; }<br />
inline void SetClassPtr(_class_type * _Class) { this->m_lpClass = _Class; }<br />
};<br />
<br />
template < typename _TReturn = unsigned int, typename _TArg = void * ><br />
class CExecuteNonMember : public IExecute < _TReturn, _TArg ><br />
{<br />
protected:<br />
typedef _return_type (* _ptr_type)(_arg_type);
<br />
_ptr_type m_lpRoutine;
<br />
public:<br />
CExecuteNonMember(void) : m_lpRoutine(NULL)<br />
{ }<br />
CExecuteNonMember(_ptr_type _Routine) : m_lpRoutine(_Routine)<br />
{ }<br />
~CExecuteNonMember(void)<br />
{ }<br />
<br />
_return_type Execute(_arg_type _Arg)
{<br />
if (this->m_lpRoutine == NULL)<br />
throw std::runtime_error("No routine pointer exists");<br />
return this->m_lpRoutine(_Arg);<br />
}<br />
<br />
inline _ptr_type GetRoutinePtr(void) const { return this->m_lpRoutine; }<br />
inline void SetRoutinePtr(_ptr_type _Routine) { this->m_lpRoutine = _Routine; }<br />
};<br />
And then I tried an approach with functionoids (here[^]" rel="nofollow">) but that would require users to pretty much always encapsulate the target functions in a class derived from a functionoid interface. Small example:
<br />
#pragma once<br />
<br />
class IFunctionoid
{<br />
public:<br />
virtual ~IFunctionoid(void) = 0;<br />
virtual unsigned int operator()(void * lpArg) = 0;
};<br />
<br />
inline IFunctionoid::~IFunctionoid(void) { }<br />
<br />
typedef IFunctionoid * LPFUNCTIONOID;<br />
<br />
Anyone have any alternative solutions or improvements on the above? Please?
|
|
|
|
|
Anyone could please tell me,
How to convert from DIB to BITMAP?
How to convert from BITMAP to JPEG?
How to convert from DIB to JPEG?
|
|
|
|
|
|
HI,
In my project, I need to logon programmatically on the local machine.
I am using "LogonUser()" api. The calling process must have SE_TCB_NAME privilege enabled. I dont how to get that privilege.
For that I have written following code.
//Start
if(!OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hCurrentToken))
printf("\n\nError Code for OpenProcessToken : %u",GetLastError());
else
printf("\nToken obtained");
if(LookupPrivilegeValue(NULL, SE_TCB_NAME,
&tkp1.Privileges[0].Luid))
printf("\nLookup Privilege value TCB returned true");
if(LookupPrivilegeValue(NULL, SE_CHANGE_NOTIFY_NAME,
&tkp2.Privileges[0].Luid))
printf("\nLookup Privilege value CHANGE returned true"); ;
tkp1.PrivilegeCount = 1;
tkp2.PrivilegeCount = 1;
tkp1.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
tkp2.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
if(!AdjustTokenPrivileges(hCurrentToken, FALSE, &tkp1, 0,
(PTOKEN_PRIVILEGES)NULL, 0))
printf("\nCan't set privileges required in tkp1");
dwErr = GetLastError();
if((dwErr != ERROR_SUCCESS))
printf("Error code for tkp1 : %u",dwErr);
if(!AdjustTokenPrivileges(hCurrentToken, FALSE, &tkp2, 0,
(PTOKEN_PRIVILEGES)NULL, 0))
printf("\nCan't set privileges required in tkp2");
dwErr = GetLastError();
if(dwErr != ERROR_SUCCESS)
printf("\nCan't set privileges required in tkp2");
strcpy(pchUserName,"user1");
strcpy(pchPasswd,"user1");
strcpy(pchDomain,"MYDOMAIN");
if(!LogonUser(pchUserName,pchDomain,pchPasswd,LOGON32_LOGON_INTERACTIVE
,LOGON32_PROVIDER_DEFAULT,&hToken))
printf("\nLogon failed :\n\n ");
//End
Output :
Token obtained
Lookup Privilege value TCB returned true
Lookup Privilege value CHANGE returned true
Error code for tkp1 : 1300
Logon failed :
**************************************************
Please help. How to set SE_TCB_NAME privilege and how to programmatically login on to the local computer.
bhavesh
|
|
|
|
|
ace_maggot wrote:
if(!AdjustTokenPrivileges(hCurrentToken, FALSE, &tkp1, 0,
(PTOKEN_PRIVILEGES)NULL, 0))
printf("\nCan't set privileges required in tkp1");
dwErr = GetLastError();
if((dwErr != ERROR_SUCCESS))
printf("Error code for tkp1 : %u",dwErr);
Since GetLastError() returns a DWORD , use %lu to ensure proper results:
if (! AdjustTokenPrivileges(hCurrentToken, FALSE, &tkp1, 0, (PTOKEN_PRIVILEGES) NULL, 0))
printf("\nCan't set privileges required in tkp1. Error = %lu\n", GetLastError()); This has no bearing on the problem, however.
Does this help:
OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, &hCurrentToken);
LUID luidName;
LookupPrivilegeValue("", SE_TCB_NAME, &luidName);
TOKEN_PRIVILEGES tokenName;
tokenName.PrivilegeCount = 1;
tokenName.Privileges[0].Luid = luidName;
tokenName.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hCurrentToken, FALSE, &tokenName, 0, NULL, 0);
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
|
|
|
|
|
Hi,
Using VS.NET 2003, I am trying to write files (without using the Serialize class method) with CString variables and trying to read the data back into the Edit Control boxes with the same CString variables. I can write the files from the CString variables and read the files' data to CString variable. But I cannot get the data to the Edit controls (multiple controls' data in one CString record) without type def errors.
Any suggestions, advice, directions, would greatly be appreciated.
|
|
|
|
|
i'm not sure i understand well.
what functions so you use ? SetWindowText() and GetWindowText() are the one to use to transfer datas between controls and CString.
moreover, you should be careful on printing a CString into a CEdit control. first, it must be using the multi-line option. secondly, each '\n' on the CString must be replaced by "\r\n" in the CEdit otherwise you won't see any new lines in the edit control...
TOXCCT >>> GEII power [toxcct][VisualCalc]
|
|
|
|
|
You hit the nail on the head!!
However, not all of my Edit control variables are of the CString type: I have some Edit variables of INT type. Initially, I have used the MFC DDX/DDV methods to swap data from the dialog to variables and back. But, after retrieving data from a file, I still cannot get the data into the INT Edit variables though I can load data into the CString Edit variables better using the methods provided and the ReadString method of CStdioFile.
Any suggestions, directions, help on loading the INT Edit variables? And, THANK YOU for the prior methods, which worked like a charm for the CString Edit variables!!;)
WohooWahoo
|
|
|
|
|
hum, just an idea like that... did you well used UpdateData(TRUE) to store the contents of the controls toward the associated variables, and UpdateDate(FALSE) for the reverse operation ?
another thing :
wohoowahoo wrote:
not all of my Edit control variables are of the CString type
Of course !! they are CEdit ones, all of them !!!
In fact, when you think you make an edit of type CString or UINT or anything else, you only associate (through DDX and DoDataExchange()) a member variable of type CString or UINT with the actual CEdit object that is currently used in the dialog.
wohoowahoo wrote:
after retrieving data from a file, I still cannot get the data into the INT Edit variables
hum, tell me, how are supposed to be the datas into this EditBox ?
you can try something else if you still cannot find a way :
CEdit* pEdit = ((CEdit*)GetDlgItem(IDC_MYEDIT));
CString strEdit;
pEdit->GetWindowText(strEdit);
UINT uiEditVal;
::sscanf(strEdit, "%u", &uiEditVal);
cheers,
TOXCCT >>> GEII power [toxcct][VisualCalc]
|
|
|
|
|
For some reasons, I want to use splitter window in CWnd, not in CFrameWnd or CMDIChildWnd. I try to use CSplitterWnd, but it doesn't work.
Thanks.
|
|
|
|
|
HI,
I am new to mFC programming .
I ahve been trying to create an application where a figure is drawn with a default colour and then user can select from a range of colours in the menu.
The problem wid my application is that it is not accepting the new colour when i check it. It is supposed to draw the new figure in a different colour when I select a colour from the menu.
I might be going wrong somewhr.
could anyone tell me how to go about doing what I am trying to implement.
Thanks
U get wht u Give
|
|
|
|
|
Are you drawing the figure in the OnDraw() or OnPaint() method? Where are you storing the new color value? Is it being used?
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
|
|
|
|
|
I am using the ondraw function. I have a variable called color in the doc class and a function which returns the current colour. I ma calling this function in the ondraw function to get the colour. Below is the code of ondraw function and the doc class..
void CFiguresdiView::OnDraw(CDC* pDC)<br />
{<br />
CFiguresdiDoc* pDoc = GetDocument();<br />
ASSERT_VALID(pDoc);<br />
COLORREF m_nColor = pDoc->GetCurrentColor();<br />
<br />
CBrush brush (m_nColor);<br />
int x1 = 100;<br />
int y1 = 100;<br />
int x2 = 300;<br />
int y2 = 400;<br />
CRect rect (x1, y1, x2, y2);<br />
pDC->FillRect (rect, &brush);<br />
}
In the document class i ahve the following code.
<br />
COLORREF CFiguresdiDoc::GetCurrentColor()<br />
{<br />
return m_nColor;<br />
}<br />
<br />
void CFiguresdiDoc::OnColorsRed() <br />
{ <br />
m_nColor=RGB (255,0,0);<br />
}<br />
<br />
void CFiguresdiDoc::OnColorsGreen() <br />
{<br />
m_nColor = RGB(0,255,0);
}<br />
<br />
void CFiguresdiDoc::OnUpdateColorsGreen(CCmdUI* pCmdUI) <br />
{<br />
pCmdUI->SetCheck (m_nColor == RGB (0, 255, 0));<br />
}<br />
<br />
<br />
void CFiguresdiDoc::OnUpdateColorsRed(CCmdUI* pCmdUI) <br />
{<br />
pCmdUI->SetCheck (m_nColor == RGB (0, 255, 255));
<br />
}
m_nColor is of type COLORREF.
i AHVE SET THE DEFAULT COLOR AS RED . It is set in the onNew Document function. IF i try doing the same thing on OnButtonDown event of mouse in the client area the color does change.
I am not able to figure out how i can click on the colour in the menu and as soon as i click the menu option the Figure gets redrawn with the chosen colour. I probably need to write some message map but i cant figure out how.
Thanks david
|
|
|
|
|
Use:
InvalidateRect(NULL);
|
|
|
|
|
Can someone point me in the right direction please:
I need to figure out the these formulas to draw lines, but I'm not catching the gist of the formulas to display the data line.
The first line will start at x,y = (0,0) and end at x,y = (pi/4, 0.707). See Below
Samples Start End
1 0,0 pi/4,0.707 ---- Does this equate to 0.785398163 ------ ?
2 pi/4,0.707 pi/2,1
3 pi/2,1 3pi/4,0.707
4 3pi/4,0.707 pi,0
5 pi,0 5pi/4,-0.707
6 5pi/4,-0.707 3pi/2,-1
7 3pi/2,-1 7pi/4,-0.707
8 7pi/4,-0.707 2pi,0
Also, how is the formula with a number before the pi figured out? Is it the number * pi and the do the division on the number after the divisor sign?
Thanks to anyone who can help
FrankieB
|
|
|
|
|
yes, 3pi/4 = 3 *pi/4. The order of operation is unimportant.
Obviously you can't chart to a decimal point, these numbers need to be multiplied by something to become meaningful.
Christian
I have several lifelong friends that are New Yorkers but I have always gravitated toward the weirdo's. - Richard Stringer
|
|
|
|
|
The general formula to generate these numbers (if that's what you were after, your post is unclear to me) seems to be in pseudocode
<br />
start at 0,0<br />
number1 = linenr/4 * pi<br />
number2 = something like cos/sin of number1<br />
|
|
|
|
|
Can you clarify your suggestion:
What is - linenr/4 * pi
How do you use the cos and sin functions?
Thanks
|
|
|
|
|
For every line of your output: the first number corresponds to the linenumber divided by 4 and multiplied by pi, and the second number corresponds to the something like the sin/cos of the first number. sin/cos/sinh/cosh/acos/asin are in the C++ CRT. I'm not gonna explain their use, your teacher should.
|
|
|
|
|