|
I use SHBrowseForFolder to display folder select dialog. How detect folder change (create new, delete, ...) while this dialog displaying.
Thank for your answer.
|
|
|
|
|
Can you be more specific.
|
|
|
|
|
I use SHBrowseForFolder to display BrowforFolder dialog box.
And i create a button to create new folder.
Then, i don't know how to refresh the BrowseforFolder dialog box to update this folder i've created.
Yes, i know in SHBrowseForFolder has the new style dialog which may help us to create new folder.
But i want to create by my self and update to BrowforFolder dialog box is displyaing.
thank for your help.
|
|
|
|
|
Hope I understood your question
if you want to insert your buttons to SHBrowseForFolder for update or delete I see exmples of SHBrowseForFolder on codeproject
|
|
|
|
|
To update folder dialog, you can do follow:
Use SHGetPathFromIDList( m_bi.pidlRoot, pszPath ) to get root folder path
Use IShellFolder::ParseDisplayName to convert root folder path to LPITEMIDLIST (pidlRoot)
Assign this pointer (pidlRoot) to m_bi.pidlRoot:
m_bi.pidlRoot = pidlRoot;
to refresh folder dialog.
This code i didn't test, but i think it can do.
-----------------
Best Regards,
Le Thanh Cong
|
|
|
|
|
How can i write a select SQL statement for the DB that uses the string from CEdit1 ?
lets say database name : "Names_City" class : CNames_City
col 1 : "name"
col 2 : "city"
col 3 : "country"
CEdit1 : "m_name"
CEdit2 : "m_city"
CEdit3 : "m_country"
1) i have onChange for "m_name .When i write some txt in m_name i need to search in "Names_City > name = and if it matches i need the city in m_city and the country in m_country "
2)when i write in m_city and then in m_name i need to search in "name","city" and if m_name == "name" and m_city == "city" i need "country" in m_country.
* Remember i have ~260.000 Records ;
thank you in advance !
- please i need that information !
Bravoone
|
|
|
|
|
I wrote an example of SELECT for you did you see it?
|
|
|
|
|
yes but i dont understand it please write again for this example !
Bravoone
|
|
|
|
|
I think you need to reading a book about sql.For example you have a table1 with three cols you can use:
SELECT col1,col2,col3 FROM table1 WHERE name LIKE '%hello%'
(you can ask your question about sql on SQL / ADO / ADO.NET forum)
|
|
|
|
|
this i dont understand what is this :'%hello%' i need to search for the string lets say CString sName ;
m_name.GetWindowText(sName);
Bravoone
|
|
|
|
|
with LIKE you can retrive rows you can use LIKE with char,varchar,...
and in LIKE you have
% strings of any or some characters
- a character and,[],...
In VC you read your data with GetWindowText and insert your data to a statement sql
|
|
|
|
|
i think i start to understand the ideea but for that i need an ... example to understand thats way i request examples !
please , please , please write the SQL statement and m_name.GetWindowText( -->HERE<-- what!) for full understand !
thanks , and i will wait your answer ! please ...
-- modified at 3:08 Friday 22nd September, 2006
How can i write a select SQL statement for the DB that uses the string from CEdit1 ?
lets say database name : "Names_City" class : CNames_City
col 1 : "name"
col 2 : "city"
col 3 : "country"
CEdit1 : "m_name"
CEdit2 : "m_city"
CEdit3 : "m_country"
1) i have onChange for "m_name .When i write some txt in m_name i need to search in "Names_City > name = and if it matches i need the city in m_city and the country in m_country "
2)when i write in m_city and then in m_name i need to search in "name","city" and if m_name == "name" and m_city == "city" i need "country" in m_country.
Bravoone
|
|
|
|
|
i have try with CListCtrl you now , but it takes 5-6 mun to fill my list with data from DB and is not good maybe this is the solution my only problem is this : i want to search into DB from CEdit and i need to do fast !
Bravoone
|
|
|
|
|
Dear Bravoone_2006,
This forum is VC not SQL maybe some members dont like to see these threads that is for sql but I think you can see MSDN for learning SQl without know sql your work is hard.Two Strings first string for read of editbox and another string for sql statement and also see CString::Insert
|
|
|
|
|
seriously, did you understand what i told you yesterday[^] ???
couldn't you just write a more explicit Subject for your thread once again ?
|
|
|
|
|
Bravoone, Please remove those Guards around the title. It looks annoying.
write a function searchName that gets CString as the param.
<br />
searchName(CString)<br />
{<br />
// Though you can right a select statment straight from here, better create a stored procedure to find name.
//Call the Stored procedure here. In your stored procedure have an Ouput Parameter that returns the found name.
CString csFoundCity;
//So, you take this returned value in a CString.
<br />
m_city.SetWindowText(csFoundCity);<br />
so in m_city's onchange, call similar function that searches and fills the corresponding CEdits.
<br />
}<br />
<marquee scrollamount="1" scrolldelay="1" direction="up" height="10" step="1">--[ ]--
[My Current Status]
Link2006 wrote:Let's take it outside of CP
Jeremy : Please don't.I would love to see this.I'm making the popcorn already.
|
|
|
|
|
can you ... write more because i dont now what do you mean ?!
Bravoone
|
|
|
|
|
hi
i m using openfilemapping function in vc++ and sometimes it will return error code 20 that means Error-bad unit.if any one knows can u please tell me what is the reason of this error and how to resolve this problem.
thanks in advance.
|
|
|
|
|
|
Can you show some code ? you are using.
|
|
|
|
|
I am creating an email client which needs to supports S/MIME . For this purpose I am using IP*Works Library. (IP*Works "SPOP" C++ Class for receiving the mails with S/MIME (Digitally signed mails.)
After receiving the digitally signed mail we needs to store the digital certificate of the sender to windows certification store just like outlook express (When a digitally signed mail is received by outlook express it stores the attached certificated in the windows certificate store and attached the certificate with public key to windows address book.)
Using IP Works I am able to get the full text of the certificate send with the digitally signed mail. but the certificate has only key public key (as i am the receiver of the mail).
Could someone suggest some API for storing the certificate with public key to windows certification store?
I has tried searching windows Crypto API but can't find any information regarding storing certificate with public key to windows certification store.
Any help would be appreciated.
|
|
|
|
|
Given a HWND, is there a reliable way or API to detect if it's a full screen window?
I was trying the following
HWND deskWnd= GetDesktopWindow();
RECT deskRect;
GetWindowRect(deskWnd, &deskRect);
HWND topWnd = GetTopWindow(NULL);
RECT topRect;
GetWindowRect(topWnd, &topRect);
But sometimes the topRect's top, bottom, left and right values are all negative, or represent a smaller rect than deskRect even though topWnd is indeed a full screen window.
I've also tried with GetForegroundWindow instead of GetTopWindow, but still no affirmative result.
Anyone knows how? Thanks.
|
|
|
|
|
Try GetWindowPlacement.
WINDOWPLACEMENT wp;<br />
wp.length = sizeof(WINDOWPLACEMENT);<br />
::GetWindowPlacement(topWnd, &wp);<br />
<br />
if ( wp.showCmd == SW_SHOWMAXIMIZED )<br />
{<br />
}<br />
- S
50 cups of coffee and you know it's on!
|
|
|
|
|
Unfortunately, it doesn't quite work because sometimes topWnd doesn't point to the correct window.
I've tried the following:
BOOL IsFullScreenAppRunning(HWND excludeWnd)
{
TCHAR tempStr[1028] = {0};
TCHAR windowTitle[512] = {0};
int result = 0;
int index = 0;
HWND firstWnd = GetForegroundWindow();
HWND nextWnd = GetNextWindow(firstWnd, GW_HWNDNEXT);
GetWindowText(excludeWnd, windowTitle, 512);
_stprintf_s(tempStr, _T("excludeWnd window title: %s\n"), windowTitle);
OutputDebugString(tempStr);
while ((nextWnd != NULL) && (result < 1))
{
_stprintf_s(tempStr, _T("loop %d)\n"), index);
OutputDebugString(tempStr);
GetWindowText(nextWnd, windowTitle, 512);
_stprintf_s(tempStr, _T("window title: %s\n"), windowTitle);
OutputDebugString(tempStr);
if ((nextWnd != excludeWnd) && IsWindowVisible(nextWnd) && !IsIconic(nextWnd) && IsZoomed(nextWnd))
{
result++;
WINDOWPLACEMENT wp;
wp.length = sizeof(WINDOWPLACEMENT);
::GetWindowPlacement(nextWnd, &wp);
_stprintf_s(tempStr, _T("full screen showCmd: %d\n"), wp.showCmd);
OutputDebugString(tempStr);
RECT fullRect;
GetWindowRect(nextWnd, &fullRect);
_stprintf_s(tempStr, _T("full screen rect top: %d, left: %d, bottom: %d, right: %d\n"), fullRect.top, fullRect.left, fullRect.bottom, fullRect.right);
OutputDebugString(tempStr);
GetWindowText(nextWnd, windowTitle, 512);
_stprintf_s(tempStr, _T("full screen window title: %s\n"), windowTitle);
OutputDebugString(tempStr);
}
index++;
nextWnd = GetNextWindow(nextWnd, GW_HWNDNEXT);
}
return (result > 0);
}
It also doesn't quite work. When there is a full-screen window, it can find it correctly, but when there isn't, it tends to find a regular maximized window. So, I still don't have the solution yet.
|
|
|
|
|
Hi,
I am trying to handle the wm_move or wm_moving message to keep a window within a bounding box, I am not able to stop the message from propagating once I'm done with it.
What do I need to do??
I have been messing around with this code.
Code no good, don't use :P
LRESULT CALLBACK WndProcedure(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
{
int xMin = 30, xMax = 400;
int yMin = 20, yMax = 400;
int charCount = 0;
int posX=0, posY=0;
int ret = 0;
RECT trect= { 0, 0, 0, 0 };
LPRECT rect =& trect;
switch(Msg)
{
case WM_PAINT:
ret = 0;
case WM_MOVING:
SetWindowPos(hWnd, HWND_TOP, 0, 0, 200, 200, SWP_NOSIZE | SWP_NOMOVE );
GetWindowRect( hWnd, rect );
if ( rect != NULL )
{
if ( rect->left > xMax )
posX = xMax;
if ( rect->left < xMin )
posX = xMin;
if ( rect->top > yMax )
posY = yMax;
if ( rect->top < yMin )
posY = yMin;
if ( posX > 0 || posY > 0 )
SetWindowPos( hWnd, HWND_TOP, 10, 10, 0, 0, SWP_SHOWWINDOW | SWP_NOSIZE );
}
break;
case WM_MOVE:
ret = WM_MOVE;
counter ++;
char buffer2[200];
sprintf( buffer2, "%d MOVE MESSAGES SO FAR.", counter );
charCount = SetWindowText( hWnd, buffer2 );
break;
case WM_DESTROY:
PostQuitMessage(WM_QUIT);
break;
default:
return DefWindowProc(hWnd, Msg, wParam, lParam);
}
return ret;
}
-- modified at 22:39 Thursday 21st September, 2006
|
|
|
|
|