|
How have you defined the operator == on your struct?
|
|
|
|
|
Yes:
typedef struct myStruct
{
int x;
int y;
bool operator == (const myStruct rhs)
{
printf("\n%d,%d-%d,%d",rhs.x,rhs.y,x,y);
return ((x==rhs.x) && (y== rhs.y));
}
}myStruct_t;
*
|
|
|
|
|
It looks ok, but normally we would not pass a copy, try changin it to this
bool operator == (const myStruct& rhs) not that it should make a difference.
|
|
|
|
|
I changed it to reference type, but still doesn't work
I tried to print them :
for (mySObj_iter=lst_mySObj.begin(); mySObj_iter != lst_mySObj.end(); mySObj_iter++)
{
printf("\n%d",(*mySObj_iter).x);
}
Even this doesn't work
*
|
|
|
|
|
I think you forgot to add the object to list, Following code works perfectly for me,
typedef struct myStruct
{
int x;
int y;
bool operator == (const myStruct rhs)
{
return ((x==rhs.x) && (y== rhs.y));
}
}myStruct_t ;
int main()
{
list<myStruct_t> nums;
list<myStruct_t>::iterator nums_iter;
for(int i=1;i<=20;i++)
{
myStruct_t mySObj;
mySObj.x =i;
mySObj.y=i;
nums.push_back(mySObj);
}
myStruct_t mySObj;
mySObj.x =5;
mySObj.y=5;
nums_iter = find(nums.begin(), nums.end(), mySObj);
printf("\nHere%d\n",(*nums_iter).x);
if (nums_iter != nums.end()){
cout << "Number " << "a" << " found." << endl;
}else
{ cout << "Number not found." << endl;} }
|
|
|
|
|
|
Often the biggest headaches come from the simplest of mistakes
|
|
|
|
|
Hi,
I want to enumerate identifiers of menu items of MS-Office apps & Internet Explorer. I found MS-Office apps share resources stroed in some dll (MSO.dll, may be wrong). So can anybody help.
Thanks a lot!
- Santosh.
-- modified at 0:58 Thursday 8th February, 2007
|
|
|
|
|
Regards,
Chinna.
-- modified at 3:42 Thursday 8th February, 2007
|
|
|
|
|
Kotesh.N wrote: Why __cdecl Calling convention set to be Default.
what do you want to know abt it
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
cheers,
Alok Gupta
VC Forum Q&A :- I/ IV
Support CRY- Child Relief and you
|
|
|
|
|
thanks for helpin me out yesterday guys.
guys can uyou help me with this.
How can the following fuction can happen:
on Buttin click Save, the text file present in the Dialog box's-Edit box should be saved.I am getting junk when savoin the file.what are the required changes needed to make in the code given below.
void CReadDlg::OnSave()
{
char szFilters[]="MyType Files (*.txt)|*.txt|All Files (*.*)|*.*||";
CFileDialog fileDlg (false,"txt", "*.txt",OFN_FILEMUSTEXIST| OFN_HIDEREADONLY, szFilters, this);
fileDlg.DoModal();
// TODO: Add your control notification handler code here
UpdateData(true);
HANDLE hFile = NULL;
DWORD dwBufSize=BUFSIZE;
BOOL bRet;
DWORD dwBytesWritten;
char buffer[BUFSIZE];
hFile = CreateFile(fileDlg.GetPathName(),
GENERIC_WRITE |GENERIC_READ,
FILE_SHARE_READ,
NULL,
CREATE_ALWAYS,
FILE_ATTRIBUTE_NORMAL,
NULL);
//m_ed = fileDlg.GetPathName();
//m_text_ctrl=buffer[BUFSIZE];
m_text_str = buffer;
bRet = WriteFile(hFile,
buffer,
BUFSIZE,
&dwBytesWritten,
NULL);
m_text_ctrl.SetWindowText(buffer);
if( hFile!=NULL )
{
CloseHandle(hFile);
hFile = NULL;
}
}
shashank
|
|
|
|
|
guys can uyou help me with this.
Yes. But first please fix your display name so we know who we're talking to.
/ravi
|
|
|
|
|
Ravi Bhavnani wrote: fix your display name so we know who we're talking to
|
|
|
|
|
can u guys give tell me the solution ,now that i have updated my name.
guys can you help me with this.
How can the following fuction can happen:
on Buttin click Save, the text file present in the Dialog box's-Edit box should be saved.I am getting junk when savr the file.what are the required changes needed to make in the code given below.
void CReadDlg::OnSave()
{
char szFilters[]="MyType Files (*.txt)|*.txt|All Files (*.*)|*.*||";
CFileDialog fileDlg (false,"txt", "*.txt",OFN_FILEMUSTEXIST| OFN_HIDEREADONLY, szFilters, this);
fileDlg.DoModal();
// TODO: Add your control notification handler code here
UpdateData(true);
HANDLE hFile = NULL;
DWORD dwBufSize=BUFSIZE;
BOOL bRet;
DWORD dwBytesWritten;
char buffer[BUFSIZE];
hFile = CreateFile(fileDlg.GetPathName(),
GENERIC_WRITE |GENERIC_READ,
FILE_SHARE_READ,
NULL,
CREATE_ALWAYS,
FILE_ATTRIBUTE_NORMAL,
NULL);
//m_ed = fileDlg.GetPathName();
//m_text_ctrl=buffer[BUFSIZE];
m_text_str = buffer;
bRet = WriteFile(hFile,
buffer,
BUFSIZE,
&dwBytesWritten,
NULL);
m_text_ctrl.SetWindowText(buffer);
if( hFile!=NULL )
{
CloseHandle(hFile);
hFile = NULL;
}
}
sagar
|
|
|
|
|
Siddam wrote: char buffer[BUFSIZE];
hFile = CreateFile(fileDlg.GetPathName(),
GENERIC_WRITE |GENERIC_READ,
FILE_SHARE_READ,
NULL,
CREATE_ALWAYS,
FILE_ATTRIBUTE_NORMAL,
NULL);
//m_ed = fileDlg.GetPathName();
//m_text_ctrl=buffer[BUFSIZE];
m_text_str = buffer;
bRet = WriteFile(hFile,
buffer,
BUFSIZE,
&dwBytesWritten,
NULL);
m_text_ctrl.SetWindowText(buffer);
I cannot see buffer is initialized by something. Obviously, its going to have junk.
|
|
|
|
|
value of buffer is ? and also I think m_text_ctrl(editbox) is null
|
|
|
|
|
Could you find problem(buffer) ?
|
|
|
|
|
hi! All
I need to update the child dialog window from some other window how can i do I have did the folllowing for that.
//the following dialog having the listview control on event(NM_CLICK) of that listitem the other
window show.
i have did the following way.
LRESULT CALLBACK GlobaListProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
.
.
.
.
.
.
case WM_NOTIFY:
{
switch(LOWORD(wParam))
{
case IDC_LIST4:
LPNMLISTVIEW pnm = (LPNMLISTVIEW)lParam;
if(pnm->hdr.hwndFrom == hList &&pnm->hdr.code == NM_CUSTOMDRAW)
{
return TRUE;
}
if(((LPNMHDR)lParam)->code == LVN_KEYDOWN)
{
LV_KEYDOWN* pLVKeyDow = (LV_KEYDOWN*)lParam;
if( pLVKeyDow->wVKey == VK_DELETE )
{
int iSlected=0;
iSlected=SendMessage(hList,LVM_GETNEXTITEM,-1,LVNI_FOCUSED);
if(iSlected==-1)
{
MessageBox(hList,_T("No Items in ListView"),_T("Error"),MB_OK|MB_ICONINFORMATION);
break;
}
ListView_DeleteItem(hList,iSlected);
}
}
if(((LPNMHDR)lParam)->code == NM_RCLICK)
{
HMENU hMenu = LoadMenu (NULL, MAKEINTRESOURCE (IDR_MENU1));
HMENU hPopupMenu = GetSubMenu (hMenu, 0);
POINT pt;
SetMenuDefaultItem (hPopupMenu, -1, TRUE);
GetCursorPos (&pt);
TrackPopupMenu (hPopupMenu,TPM_LEFTALIGN, pt.x, pt.y, 0, hDlg, NULL);
DestroyMenu (hPopupMenu);
DestroyMenu (hMenu);
}
<code>
if(((LPNMHDR)lParam)->code == NM_CLICK)
{
iSelect=SendMessage(hList,LVM_GETNEXTITEM,-1,LVNI_FOCUSED);
if(iSelect==-1)
{
break;
}
index=iSelect;
ShowWindow(hWndinoutfiledir,SW_HIDE);
ShowWindow(hwndEncrypt,SW_HIDE);
ShowWindow(hwndSplit,SW_HIDE);
ShowWindow(hwndUpload,SW_HIDE);
<big>ShowWindow(hwndTagEditorDlg ,SW_SHOW);</big> UpdateWindow(hwndTagEditorDlg);
} </code>
break;
}
}
break;
}
LRESULT CALLBACK TagEditorProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
Utility util;
switch(message)
{
case WM_INITDIALOG:
if(_ProtectSet[index].listviewIndex==index)
{
SetDlgItemText(hDlg,IDC_EDIT_ARTIST,util.ConvertStringToWCHAR(_ProtectSet[index].artist));
SetDlgItemText(hDlg,IDC_EDIT_ALBUM,util.ConvertStringToWCHAR(_ProtectSet[index].album));
SetDlgItemText(hDlg,IDC_EDIT_COPYRIGHT,util.ConvertStringToWCHAR(_ProtectSet[index].copyright));
SetDlgItemText(hDlg,IDC_EDIT_AUTHOR,util.ConvertStringToWCHAR(_ProtectSet[index].author));
SetDlgItemText(hDlg,IDC_EDIT_GENRE,util.ConvertStringToWCHAR(_ProtectSet[index].genre));
SetDlgItemText(hDlg,IDC_EDIT_DESCRIPTION,util.ConvertStringToWCHAR(_ProtectSet[index].desc));
}
break;
case WM_COMMAND:
switch(LOWORD(wParam))
{
case IDC_SAVE_TAG:
_ResideId3TagForSelectedFile(hDlg);
break;
}
break;
}
return FALSE;
}
void _ResideId3TagForSelectedFile(HWND hDlg)
{
static int i=0;
Utility util;
TCHAR buff[MAX_PATH];
ListView_GetItemText(hList,index,0,(LPWSTR)&buff,MAX_PATH);
std::wstring buff_input(buff);
std::string compare(buff_input.begin(),buff_input.end());
WCHAR w_Artist[MAX_PATH],w_Title[MAX_PATH],w_Album[MAX_PATH],w_Year[MAX_PATH],w_Copyright[MAX_PATH],w_Author[MAX_PATH];
WCHAR w_Gener[MAX_PATH],w_Desc[MAX_PATH];
string str_Artist,str_Title,str_Album,str_Year,str_Copyright,str_Authour,str_Gener,str_Desc;
GetDlgItemText(hDlg,IDC_EDIT_ARTIST,w_Artist,MAX_PATH);
GetDlgItemText(hDlg,IDC_EDIT_TITLE,w_Title,MAX_PATH);
GetDlgItemText(hDlg,IDC_EDIT_ALBUM,w_Album,MAX_PATH);
GetDlgItemText(hDlg,IDC_EDIT_YEAR,w_Year,MAX_PATH);
GetDlgItemText(hDlg,IDC_EDIT_COPYRIGHT,w_Copyright,MAX_PATH);
GetDlgItemText(hDlg,IDC_EDIT_AUTHOR,w_Author,MAX_PATH);
GetDlgItemText(hDlg,IDC_EDIT_GENRE,w_Gener,MAX_PATH);
GetDlgItemText(hDlg,IDC_EDIT_DESCRIPTION,w_Desc,MAX_PATH);
str_Artist=util.ConvertWCHARToString(w_Artist);
str_Title=util.ConvertWCHARToString(w_Title);
str_Album=util.ConvertWCHARToString(w_Album);
str_Year=util.ConvertWCHARToString(w_Year);
str_Copyright=util.ConvertWCHARToString(w_Copyright);
str_Authour=util.ConvertWCHARToString(w_Author);
str_Gener=util.ConvertWCHARToString(w_Gener);
str_Desc=util.ConvertWCHARToString(w_Desc);
int int_Year=atoi(str_Year.c_str());
_ProtectSet[i++].Exchangedata(index,compare,str_Artist,str_Title,int_Year,str_Album,str_Copyright,str_Authour,str_Gener,str_Desc);
}
detail
so once i click on the lisitem view it will call/display other window. for that i saved all that tag in the object respectively filename and index of listview. i have taken static int i for object stored. then when i finished each item with corrsponding itemlist for all tags.
when i context switch in the listview from one lits item to other it couldnt display the respective tags for the particular file. is there any missed thing?
Amit
|
|
|
|
|
amitmistry_petlad wrote: I need to update the child dialog window from some other window how can i do
In the interest of clean design, the updating dialog shouldn't know anything about the internals of the updated dialog. I recommend posting a command message to the dialog that needs updating, which in turn should handle the message (as a WM_COMMAND ) and update itself accordingly.
/ravi
|
|
|
|
|
can you please elborate how can i do ,means how can i sent commnad .through function?
i didnt get .please specify any code if possible,
Amit
|
|
|
|
|
Here's an easy way:- Add a hidden button to your child dialog.
- Add a handler for the button, which contains code for updating the dialog in the desired manner.
- In the "parent" dialog, post the child dialog a command that simulates clicking the button by doing:
pChildDialog->PostMessage (WM_COMMAND, ID_OF_HIDDEN_BUTTON);
/ravi
|
|
|
|
|
Dear,
will it work in win32 ?
Amit
|
|
|
|
|
Yes. Use the global ::PostMessage() function.
/ravi
|
|
|
|
|
take a sample & quantify image
|
|
|
|
|
|