|
Thankyou Andrzej Markowski ,
your suggestion :- pPropertySheet->GetPage(PageNo)->GetDlgWindowText(IDC_COMBO1,s), worked with a minor change.
pPropertySheet->GetPage(PageNo)->GetDlgItemText(IDC_COMBO1,s),
Thanx once again
Drushti
|
|
|
|
|
m_Combo.GetLBText(m_Combo.GetCurSel(),path);
|
|
|
|
|
Here is the function:
HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS,FALSE,WindowProcessID);
WindowProcessID is a DWORD. How do I get the Process ID of a window for use in the third parameter of OpenProcess()? Any help is appreciated.
-Dev578
|
|
|
|
|
|
hi everyone..
I got really tired trying to use "SetLayeredWindowAttributes". I will describe what I did and then maybe you can help me figure out what's wrong:
the MSDN says that I need to include "windows.h" so I did that..it also says that I need the linker to link to "user32.lib" so I did that also...
now I can't use the api function (I don't know why) though I'm using GetWindowLong (which is from the same library)
|
|
|
|
|
what's the error you're getting? I have a sample of what I did to use it, but I don't necessarily know if that will help if I don't know what the problem is. I think I had a problem also when I first tried to use that function. Check your stdafx.h file and see what WINVER is defined as. you don't need to include windows.h if you're using mfc. also check your _WIN_32_IE #define. When creating a project, the wizard puts these values too low to take advantage of some of the more advanced controls and api's. if WINVER is #defined as 0x0400, somebody told me to set it like this on CP, although I was told this wasn't a good idea:
#ifndef WINVER // Allow use of features specific to Windows 95 and Windows NT 4 or later.<br />
#define WINVER 0x0400 // Change this to the appropriate value to target Windows 98 and Windows 2000 or later.<br />
#endif<br />
<br />
#undef WINVER<br />
#define WINVER 1000000
it isn't a good idea because there's no such version of Windows but a lot of structures have conditional compilation directives depending on whether or not your version of Windows is defined high enough. If your _WIN_32_IE is #defined as 0x400, you need to change that also (I put mine to 0x0600). Hope this helps.
[insert witty comment here]
bdiamond
|
|
|
|
|
the solutions you (mr.euacela) mention is a little bit complicated I hope there's something better...
to mr.bdiamond: the problem is undeclared identifiers:
LWA_ALPHA
SetLayeredWindowAttributes
WS_EX_LAYERED
also I want to note that I'm not using mfc..
and about the defintion things that you want me to check, where are they(which file or header..) or do I have to put my own header including these things..
|
|
|
|
|
you may also do this to call the function:
#define WS_EX_LAYERED 0x00080000
#define LWA_COLORKEY 0x00000001
#define LWA_ALPHA 0x00000002
typedef VOID (CALLBACK* MySetWindowLayeredAttributes)(HWND hwnd,
COLORREF crKey,
BYTE bAlpha,
DWORD dwFlags);
typedef VOID (CALLBACK* UpdateLayeredWindow)(
HWND hwnd, // handle to layered window
HDC hdcDst, // handle to screen DC
POINT *pptDst, // new screen position
SIZE *psize, // new size of the layered window
HDC hdcSrc, // handle to surface DC
POINT *pptSrc, // layer position
COLORREF crKey, // color key
BLENDFUNCTION *pblend, // blend function
DWORD dwFlags // options
);
MySetWindowLayeredAttributes procedure;
UpdateLayeredWindow procedure1;
COLORREF color;
color=RGB(50,100,150);
HINSTANCE dllhinst;
dllhinst= LoadLibrary("User32.dll");
if (dllhinst!=NULL)
{
procedure=(MySetWindowLayeredAttributes)GetProcAddress(dllhinst, "SetLayeredWindowAttributes");
if (!procedure)
{
MessageBox(GetDesktopWindow(),"The HOOK FUNCTION COULD NOT BE LOADED","GABBY",MB_ICONSTOP|MB_APPLMODAL);
FreeLibrary(dllhinst);
};
procedura1=(MyUpdateLayeredWindow)GetProcAddress(dllhinst, "UpdateLayeredWindow");
if (!procedure1)
{
MessageBox(GetDesktopWindow(),"The HOOK FUNCTION COULD NOT BE LOADED","GABBY",MB_ICONSTOP||MB_APPLMODAL);
FreeLibrary(dllhinst);
};
}else MessageBox(NULL,"Could not load DLL","Gabby",MB_OK||MB_APPLMODAL);
//and now what you've been waitring for
procedure(hdlg,color,1,LWA_ALPHA);
hope you like it
gabby
|
|
|
|
|
hi again..
]I found the solution to the problem..I digged in the WinUser.h a little bit and I found that the API will not be declared unless "_WIN32_WINNT" is defined equal or greater than 0x0501 so I just defined it like that in my prog and it worked...
|
|
|
|
|
Hello Everyone,
I have a button created by flash OK?
I want to use this button in my
MFC app.
Please Help me(SWF Files)
Best Wishes,
Thanks
|
|
|
|
|
i really need your help please please help me.
i would really be grateful to you.
please please help me. and whatever u wanna know please ask me freely and anytime u like but please make this program run for me. I already got the previous code i want this to be done and as soon as possible.
please please help me. i request you.
**************************************************************************
You are to write two classes, screen and field, representing a screen
layout and an individual field (either a label or an input region) that
appears on a screen.
The field class, which lets us display, and possibly edit, a character
string, is really intended as a base class from which we'll derive many
kinds of field (displaying/editing different kinds of data) in the
future. Because of this, and because the code for the screen class will
use the field class extensively, it is important that the screen class'
logic uses only features of the field class described below and not
extra features you may decide to add to the field class.
When instantiated a field must be passed between three and five values,
in the following order:
- required: the row on which the field is to be displayed (int)
- required: the starting column for the field (int)
- required: the field's width (int)
- optional: an initial value for the field (constant character string)
- optional: editability flag (true: editable, false: display-only)
If only three parameters are specified, the field begins empty. If fewer
than five parameters are specified, the field is editable. Note that
instantiating a field does not cause it to appear - there are member
functions (below) to do that. If the coordinates specified are not
valid, the closest on-screen coordinates to those specified are used. If
the field width is too long to fit on the screen, the width should be
reduced so that the field fits on the screen. Similarly, if the initial
value is longer than the field width, only as many characters of the
initial value as will fit are used.
A field has the following public member functions, all of which are
virtual:
void display() - causes the field to be displayed on the screen. On
systems where terminal output is buffered, this function does
not flush the screen buffer. Note that if the field's current
value is shorter than the field width, trailing spaces are
displayed to fill out the field. (Such trailing spaces are not
considered part of the data of the field, however).
int edit() - causes the field to be displayed (as in display()) and
then lets the user edit the field, using the keys just as
dt_edit() does. The key code used to terminate editing is
returned. The first time a field's edit() function is called,
the cursor is positioned at the beginning of the field.
Subsequent calls to edit() start the cursor where it left off at
the end of the previous edit() call, unless the string is now
too small (in which case the cursor is positioned just past the
end of the string).
In the case where the field is not editable, this function
simply displays the field and returns 0 without waiting for any
keystrokes.
bool editable() const - returns true if the field is editable, false
if it is display-only.
void *data() - returns the address of the string currently stored by
the field. Note that we expect that in derived classes this may
be the address of some other kind of data being edited.
field *clone() const - dynamically allocates another instance of the
field, making that field a copy of itself, and returns the
address of the copy. If a copy cannot be made, this function
returns NULL. It is the caller's responsibility to deallocate
the copy.
Since dynamic memory allocation is required to implement this properly,
the field class also has an appropriate copy constructor, = operator and
virtual destructor.
A screen manages up to 50 fields (although if you can remove this limit,
you are more than welcomed to do so). The fields are kept in order by
when they were added to the screen - the field that was added first is
known as field number 0, the field that was added next is known as field
number 1 and so on. The screen class has the following public member
functions:
int add(int, int, int) and
int add(int, int, int, const char *) and
int add(int, int, int, const char *, bool) - adds a field to the
screen, where the field added is constructed with the data
supplied to add(). These functions return the number of fields
in the screen after adding the field, or 0 if the field could
not be added for some reason.
int add(const field &f) - adds a copy of "f" to the screen,
returning the number of fields in the screen after adding the
field (or 0 if the add() failed for some reason).
void display(bool clear) - displays all the fields managed by the
screen, in the same order that they were added to the screen. If
"clear" is true, the screen is cleared before the fields are
displayed, otherwise the fields are displayed without touching
any other part of the screen. On systems that buffer terminal
output, this function does not flush the output buffer.
int edit() and
int edit(bool clear) and
int edit(int *pfield) and
int edit(int *pfield, bool clear) - Displays all the fields of the
screen (after clearing the screen if "clear" is specified and
true) and then allows the user to edit them, starting at field
number "*pfield". The user moves between fields with any of the
following keys:
Down arrow - moves to the next editable field
Up arrow - moves to the previous editable field
Tab - works just like Down Arrow
Enter - moves to the next editable field, except when pressed
in the last editable field of the screen, in which case it
causes edit() to end.
Here "next" and "previous" refer to the order in which the
fields were added to the screen. There is a wrap-around effect,
also, so the the next field after the last field is the first
field, and the previous field before the first field is the last
field.
All other keys which terminate a field's edit() function
terminate this function as well, setting "*pfield" to the number
of the field from which the user exited. The key code used to
exit the field's edit() is returned.
If "pfield" is NULL or not provided, then editing starts at the
first editable field the first time edit() is called, and
resumes at the field last exited upon subsequent calls.
If "pfield" points to an int, but that int is not the number of
en editable field, then editing begins at the next editable
field (where "next" is as defined above).
If there are no editable fields on the screen, this function
returns 0 after displaying all the fields.
field &getfield(int i) - returns the field numbered "i".
int remove(int i) - removes field number "i" from the list of fields
being managed by the screen, and returns the number of fields
left on the screen after removal. If "i" is not the number of a
field, then nothing happens and the current field count is
returned.
Note that removing a field renumbers the remaining fields.
Also, the += operator can be used, with a screen on the left and a field
on the right, to add a field to a screen, returning a reference to the
screen.
Note that creating a screen, adding a field to a screen, or removing a
field from a screen causes no immediate visual effect. It is when the
screen is display()ed or edit()ed that the user sees anything.
Note also that since adding a field involves copying the field, and
since we plan to derive new types of field in the future, you must make
the copies of fields by using clone(), rather than by relying on the
copy constructor.
Since this means that your screen must use dynamic memory allocation
(clone() dynamically allocates a copy), you should be sure to code an
appropriate copy constructor, = operator and virtual destructor for the
screen class.
Both the screen class and the field class should be declared in a header
file screen.h, and coded in a source file screen.cpp. Including screen.h
should also make the dtio functions available for use.
|
|
|
|
|
Hi youngashish,
I'd be happy to do this programming assignment for you. I can email you a .zip file containing the solution (guaranteed to work). Alternatively, you can download it from one of my password protected servers. I also provide free bug fixes for a period of upto 7 days after delivery. My rates are as follows:
- Charge for estimate (in hours) = USD 100
- Programming charges = USD 300/hr
The estimate charge will be refunded in full if you assign me the job. 50% of the payment is required up front. The balance is due on completion of the project. The full balance must be paid before I make the solution available to you.
I look forward to hearing from you!
/ravi
My new year's resolution: 2048 x 1536
Home | Articles | Freeware | Music
ravib@ravib.com
|
|
|
|
|
I was wondering who and what the reply would be to this. He should have asked for a gold bar as well.
Neville Franks, Author of ED for Windows www.getsoft.com and coming soon: Surfulater www.surfulater.com
|
|
|
|
|
I like to help out the mortals every now and then.
Btw, many thanks for the ED license I won in the July competition. I plan to install it soon!
/ravi
My new year's resolution: 2048 x 1536
Home | Articles | Freeware | Music
ravib@ravib.com
|
|
|
|
|
Wicked. I like that.
(do let us know if he/she comes up with the money)
Software Zen: delete this;
|
|
|
|
|
|
Hi,
I render a movie using the 'Video Renderer filter".
If for VMR the aspect ratio could be nicely done like this:
m_pBaseFilter->QueryInterface(IID_IVMRAspectRatioControl9, (void**) &m_pVMRAspectRatioControl) and then call a SetAspectRatioMode(VMR9ARMode_LetterBox),
can anyone one tell me what interface should i query for the
"Video Renderer filter" ?
Thanks alot, guys.
|
|
|
|
|
Hi Guys
I have developed one small DCOM in VC++(Simple ATL project u can say) application which I use in my VB IIS project. It runs on server and after some time it gets hang. I know there is some memory leak in my programm b'cz of which it eats all the CPU memory. Also I have checked it thouroughly and put the free() statement for every malloc() or calloc()....And also I have put the "delete [] var" for each "New" operator....Still it shows some memory leak...
Now my question is....Is there any function with use of which I can free all the memory or any other way to free memory except what I have done...Or is there any function which gives me exact memory at any point of time in perticular programm. To check what memory amount it is using I have used "GlobalMemoryStatus()" function...Is there any other stuff regarding that.....Plz
Plz help me....
Regards,
Amarelia Maehsh
|
|
|
|
|
how about using _crtMemCheckpoint() and _crtMemDifference()? I've only used them once, but you can check memory before and after each function, then see if there's a difference, and if so, use _crtDumpMemoryLeaks() to get a more detailed info of where the leak occurred, which number of dynamic memory allocation it was.
[insert witty comment here]
bdiamond
|
|
|
|
|
Hello all,
I am having a terrible problem trying to read in a gif file that has embedded '\0' characters.
I need to read the file and pass it to another application but can't find the correct Windows file i/o function.
Could someone please point me in the right direction?
Thanks,
Murrah Boswell
|
|
|
|
|
yeah i too done this thing in my project
firstly i have tried from CStdioFile to ifstream.
but the best method suited for me is reading from
ifstream.
i copied whole file in a char string and send it thourgh Socket to another window application
-----------------------------
"I Think It Will Help"
-----------------------------
Alok Gupta
visit me at http://www.thisisalok.tk
|
|
|
|
|
Hello Alok,
Do you mind sharing the code that you used to read a gif file into a char string? I can't seem to get CStdioFile to work and I am not familar with ifstream, but I will learn.
I have the same task, that is, read a gif file and send it to another application through a socket.
Actually, I am working on a 'push' version of the squid cache server, and that is what I am 'pushing' the gif file to.
Thanks,
Murrah Boswell
|
|
|
|
|
No Problem Buddy ,
i will write the code here in one or two hour ,when i am able to find it from my code
till then wait
-----------------------------
"I Think It Will Help"
-----------------------------
Alok Gupta
visit me at http://www.thisisalok.tk
|
|
|
|
|
Good deal! I had to get some sleep, but I'm back to it now.
Murrah Boswell
|
|
|
|
|
I got it!
In my StdAfx.h I added:
#include <iostream>
#include <fstream.h>
Then in my module where I need to read the gif files:
BYTE * FileToPush;
int length=0;
<snip>
ifstream instream;
instream.open("c:\\path\\to\\file.gif",
ios::binary );
// get length of file:
instream.seekg (0, ios::end);
length = instream.tellg();
//get ready for read
instream.seekg (0, ios::beg);
// allocate memory:
FileToPush = new BYTE [length];
// read data as a block:
instream.read (FileToPush,length);
instream.close();
<snip>
Thanks for the help,
Murrah Boswell
|
|
|
|
|