|
Hi,
I am new to XML. I need a sample application that would create an XML , add elements to XML,delete elements from XML, Parse the XML using VC++6.0
Thanks
|
|
|
|
|
See, for instance [^], or [^].
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
Hi, I found this code on the MSDN website for detecting UPnP devices asynchronously but the problem is it only detects devices that are present on the network when the program starts. It doesn't detect devices that have been added later or removed. Please help!!
http://msdn.microsoft.com/en-us/library/aa382290(VS.85).aspx[^]
|
|
|
|
|
This program display an AVI file and its bitmqps file, but for specially file not for all size,for exemple it's for AVI file wich has a width= 48 and lenght=80
so the size is 48x80x3= 117Ko, so if we change the size it can't work.
please how to change this program for read all size for AVI file?
// Get pointers to the info structure & the bits
pointer = (BYTE *) prifffile ; the pointer here is static I think we must change into dynamic for read all size
//sstring[0] = * (pointer+4095);
pointer = pointer + 4096+11; // here we can change the color of bitmap background
hdc = BeginPaint (hwnd, &ps) ;
//draw a frame
for(i=0;i<48;i++)
for(j=0;j<80;j++)
if((0.299*(*(pointer+2+i*80*3+j*3))+0.587*(*(pointer+1+i*80*3+j*3))+0.114*(*(pointer +i*80*3+j*3)))<100)
SetPixel(hdc,j+50,i+50,RGB(255,0,0));
//draw 5 frames parally
for(m=0;m<5;m++){// this is a movie
for(i=0;i<48;i++)
for(j=0;j<80;j++)
SetPixel(hdc,j+100*m+50,i+150,RGB(*(pointer+2 + j*3 +(48-i)*80*3),
*(pointer+1 + j*3 +(48-i)*80*3),
*(pointer + j*3 +(48-i)*80*3)));
pointer = pointer + 11520*m+8*m;
}
pointer = (BYTE *) prifffile ; //let the pointer to pointer the begining again
pointer = pointer + 4096+11; //let the pointer to point at the bitmap data
//draw several frames to make a animation as movie
for(n=0;n<5;n++){ // repeat 5 times
for(m=0;m<5;m++){// this is a movie
for(i=0;i<48;i++)
for(j=0;j<80;j++)
SetPixel(hdc,j+50,i+250,RGB(*(pointer+2 + j*3 +(48-i)*80*3),
*(pointer+1 + j*3 +(48-i)*80*3),
*(pointer + j*3 +(48-i)*80*3)));
pointer = pointer + 11520*m+8*m;
Sleep(300); // set a time interval to make the movie natural
}
pointer = (BYTE *) prifffile ; //let the pointer to pointer the begining again
pointer = pointer + 4096+11; //let the pointer to point at the bitmap data
} // repeat 10 times
EndPaint (hwnd, &ps) ;
// show a dialogbox to tell you that the testing ends
MessageBox(hwnd,TEXT("displaying ends/ÑÝʾ½áÊø"),sstring,0);
return 0 ;
================================================================================================================================================
||Program||
-------
/*----------------------------------------------
SHOWDIB1.C -- Shows a DIB in the client area
(c) Charles Petzold, 1998
----------------------------------------------*/
#include <windows.h>
#include <aviriff.h>
#include <iostream.h>
#include "dibfile.h"
#include "resource.h"
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;
TCHAR szAppName[] = TEXT ("ShowDib1") ;
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR szCmdLine, int iCmdShow)
{
HACCEL hAccel ;
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 = szAppName ;
wndclass.lpszClassName = szAppName ;
if (!RegisterClass (&wndclass))
{
MessageBox (NULL, TEXT ("This program requires Windows NT!"),
szAppName, MB_ICONERROR) ;
return 0 ;
}
hwnd = CreateWindow (szAppName, TEXT ("display an avi picture and an avi movie"),
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT,
CW_USEDEFAULT, CW_USEDEFAULT,
NULL, NULL, hInstance, NULL) ;
ShowWindow (hwnd, iCmdShow) ;
UpdateWindow (hwnd) ;
hAccel = LoadAccelerators (hInstance, szAppName) ;
while (GetMessage (&msg, NULL, 0, 0))
{
if (!TranslateAccelerator (hwnd, hAccel, &msg))
{
TranslateMessage (&msg) ;
DispatchMessage (&msg) ;
}
}
return msg.wParam ;
}
LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
////////////////////////////////////
static BITMAPINFO * pbmi ;
static BYTE * pBits ;
////////////////////////////////////
static RIFFLIST * prifffile ;
static AVIMAINHEADER * pavimh;
static AVISTREAMHEADER * pavish ;
static BYTE * pointer ;
/////////////////////////////////////////////////////////////////////
static int cxClient, cyClient, cxDib, cyDib ;
static TCHAR szFileName [MAX_PATH], szTitleName [MAX_PATH] ;
BOOL bSuccess ;
HDC hdc ;
PAINTSTRUCT ps ;
int i,j,m,n;
//////////////////////////////////////////////////////////////////////
// RIFF is the first 4 letters of a riff file. avi file is a riff file
static TCHAR sstring[] = {'R','I','F','F','\0'};
//////////////////////////////////////////////////////////////////////
switch (message)
{
case WM_CREATE:
DibFileInitialize (hwnd) ;
return 0 ;
case WM_SIZE:
cxClient = LOWORD (lParam) ;
cyClient = HIWORD (lParam) ;
return 0 ;
case WM_INITMENUPOPUP:
EnableMenuItem ((HMENU) wParam, IDM_FILE_SAVE,
prifffile ? MF_ENABLED : MF_GRAYED) ;
return 0 ;
case WM_COMMAND:
switch (LOWORD (wParam))
{
case IDM_FILE_OPEN:
// Show the File Open dialog box
if (!DibFileOpenDlg (hwnd, szFileName, szTitleName))
return 0 ;
// If there's an existing DIB, free the memory
MessageBox(hwnd,szFileName,TEXT("The name of the file you have opened is"),0);
if (prifffile)
{
free (prifffile) ;
prifffile = NULL ;
}
// Load the entire DIB into memory
SetCursor (LoadCursor (NULL, IDC_WAIT)) ;
ShowCursor (TRUE) ;
prifffile = DibLoadImage(szFileName) ;
ShowCursor (FALSE) ;
SetCursor (LoadCursor (NULL, IDC_ARROW)) ;
// Invalidate the client area for later update
InvalidateRect (hwnd, NULL, TRUE) ;
if (prifffile == NULL)
{
MessageBox (hwnd, TEXT ("Cannot load AVI file"),
szAppName, 0) ;
return 0 ;
}
/* ------------------------------------------------------------------------------ */
// Get pointers to the info structure & the bits
pointer = (BYTE *) prifffile ;
//sstring[0] = * (pointer+4095);
pointer = pointer + 4096; // here we can change the color of bitmap background
hdc = BeginPaint (hwnd, &ps) ;
//draw a frame
//»Ò»Ö¡
for(i=0;i<48;i++)
for(j=0;j<80;j++)
if((0.299*(*(pointer+2+i*80*3+j*3))+0.587*(*(pointer+1+i*80*3+j*3))+0.114*(*(pointer +i*80*3+j*3)))<100)
SetPixel(hdc,j+50,i+50,RGB(255,0,0));
//draw 5 frames parally
for(m=0;m<5;m++){// this is a movie
for(i=0;i<48;i++) //»Ò»Ö¡
for(j=0;j<80;j++)
SetPixel(hdc,j+100*m+50,i+150,RGB(*(pointer+2 + j*3 +(48-i)*80*3),
*(pointer+1 + j*3 +(48-i)*80*3),
*(pointer + j*3 +(48-i)*80*3)));
pointer = pointer + 11520*m+8*m;
}
pointer = (BYTE *) prifffile ; //let the pointer to pointer the begining again
pointer = pointer + 4096+11; //let the pointer to point at the bitmap data
//draw several frames to make a animation as movie
for(n=0;n<5;n++){ // repeat 10 times
for(m=0;m<5;m++){// this is a movie
for(i=0;i<48;i++)
for(j=0;j<80;j++)
SetPixel(hdc,j+50,i+250,RGB(*(pointer+2 + j*3 +(48-i)*80*3),
*(pointer+1 + j*3 +(48-i)*80*3),
*(pointer + j*3 +(48-i)*80*3)));
pointer = pointer + 11520*m+8*m;
Sleep(300); // set a time interval to make the movie natural
}
pointer = (BYTE *) prifffile ; //let the pointer to pointer the begining again
pointer = pointer + 4096+11; //let the pointer to point at the bitmap data
} // repeat 10 times
EndPaint (hwnd, &ps) ;
// show a dialogbox to tell you that the testing ends
MessageBox(hwnd,TEXT("displaying ends/ÑÝʾ½áÊø"),sstring,0);
return 0 ;
case IDM_FILE_SAVE:
// Show the File Save dialog box
if (!DibFileSaveDlg (hwnd, szFileName, szTitleName))
return 0 ;
// Save the DIB to memory
SetCursor (LoadCursor (NULL, IDC_WAIT)) ;
ShowCursor (TRUE) ;
bSuccess = DibSaveImage (szFileName, prifffile) ;
ShowCursor (FALSE) ;
SetCursor (LoadCursor (NULL, IDC_ARROW)) ;
if (!bSuccess)
MessageBox (hwnd, TEXT ("Cannot save AVI file"),
szAppName, 0) ;
return 0 ;
}
break ;
case WM_PAINT:
hdc = BeginPaint (hwnd, &ps) ;
/*if (pbmi)
SetDIBitsToDevice (hdc,
50, // xDst
100, // yDst
cxDib, // cxSrc
cyDib, // cySrc
0, // xSrc
0, // ySrc
0, // first scan line
cyDib, // number of scan lines
pBits,
pbmi,
DIB_RGB_COLORS) ; */
EndPaint (hwnd, &ps) ;
return 0 ;
case WM_DESTROY:
/*if (pointer)
free (pointer);
if (prifffile)
free (prifffile);
if (pavish)
free (pavish);
if (pbmi)
free (pbmi) ;
if (pavimh)
free (pavimh) ;
if(pBits)
free (pBits);
*/
PostQuitMessage (0) ;
return 0 ;
}
return DefWindowProc (hwnd, message, wParam, lParam) ;
}
|
|
|
|
|
Hi,
I try to use SetDllDirectory call, but fail to compile.
Platform = WinXP SP2 ; VS2005 SP1
#define _WIN32_WINNT 0x0502
#include "windows.h"
<...>
SetDllDirectory(NULL);
results in error C3861: 'SetDllDirectory': identifier not found
When I literally copy the defs from winbase.h like this :
#include "windows.h" // ( for SetDllDirectory call )
WINBASEAPI
BOOL
WINAPI
SetDllDirectoryA(
__in_opt LPCSTR lpPathName
);
#define SetDllDirectory SetDllDirectoryA
it compiles ok, but results in an unresolved external
error LNK2019: unresolved external symbol "__declspec(dllimport) int __stdcall SetDllDirectoryA(char const *)"
However, I do add kernel32.lib to the linker input.
How should I use this api then ?
Thanks in advance
Linde
|
|
|
|
|
Possibly you need an updated Platform SDK .
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
No, I don't think so. The libs in the VC directory are more recent than the ones I find in the latest SDK update ( = from 2004 ! )
|
|
|
|
|
Resolved
--------
I changed the order of the numerous #include lines : I put the #include "windows.h" as the first, and now it works.
|
|
|
|
|
how can i display icons or bimaps on status bar on a dialog based application?eg winzip
|
|
|
|
|
|
how can i add and display status bar for a dialog based application?
thanks in advance
|
|
|
|
|
|
Hello,
I am working on an mfc chat application in which i want to incorporate chatting in multiple languages.
I am able to type arabic and chinese and other languages in the text box but it is not able to dislay it in CRichEditCtrl.
Please tell me whats the reason.
Thanks In Advance.
|
|
|
|
|
Try getting the raw text from the richedit control - and look through to see what font it being used. I'd suspect that the rich edit control is using a font that can't display your characters...
Have a look at http://www.codeproject.com/KB/edit/rulerricheditctrl.aspx[^], a good article using the rich edit control, and try typing using different fonts - it may help with your problem.
Iain.
|
|
|
|
|
Dear All,
I have a problem to convert a byte array to a image in vc++.
Is it possible in vc++ to convert a byte array in to a image.
Please help to solve this problem.
|
|
|
|
|
What data structure are you using for image?
-Saurabh
|
|
|
|
|
|
http://en.wikipedia.org/wiki/Portable_Network_Graphics[^]
The above page gives quite a good explanation of the format. I'm assuming each byte in your array represents one pixel? You'll also need a palette (what colour is 0x17 ? ), and know the width and height of your picture.
Try just writing a simple 16x16 png to start with, then grow it.
Modification: PNG is a compressed format, but you could just do a rubbish job of that compression...
Good luck!
Iain.
|
|
|
|
|
Hi,
I want to make radio control transparent i tried with OnCtlColor it is working but when i put my control over a picture control with bitmap it is getting black,I am working VS2008 with MFC feature Pack.
Thanks in advance for any idea.
modified on Friday, November 14, 2008 4:41 AM
|
|
|
|
|
Maybe your parent window has the WS_CLIPCHILDREN style set? How do you mean you put your control over a bitmap? I supose you blit a bitmap onto the client area of the parent window in OnPaint or maybe OnEraseBkgnd.
|
|
|
|
|
Thanks for Reply.
WS_CLIPCHILDREN is false in my application and i working with formview.
first i am making control tranparent in OnCtlColor then i am moving it on the bitmap, it is working in VC6 but problem with VS2008 .
|
|
|
|
|
Maybe try giving WS_TRANSPARENT to your control. Am not sure if that would work or not.
|
|
|
|
|
Hello All
i am working in Win32 VC++ using VS 6.0
My window works fine and is Minimized in TaskBar....
if i click the mouse on Desktop (i.e not on my window).....is there any way so that my window come to know that the mouse has clicked down......i.e in short i want to send the mouse events to my window from anywhere.
Thankx In Advance
regards
aabid
|
|
|
|
|
|
Hi all,
In my mfc application I have a main window which has no title bar, no resizing frame, no border n all. I am programmatically creating title bar and maximize and minimize buttons.
For resizing and move operations I am handling hit test messages.
But since I have no title bar so system menu doesn’t appear by default, and also left click on task bar doesn’t maximize the window.
For this to work I added WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_SYSMENU styles to my frame window. Everthing started working sysmenu on right click,maximize,minimize,move n all but unexpectedly resizeing stopped working. If I remove WS_SYSMENU resize starts working. I have no idea what happened. One solution thought was to add WS_THICKFRAME to the window but I don’t want to use it as it changes the look of window which client doesn’t want.
Can you suggest something on this?
|
|
|
|
|