请高手帮我解读一下这段代码,在此谢过
/***************************************************************************
* Function: ToExpand
*
* Purpose:
*
* Switch to expand view of the selected line
*/
BOOL
ToExpand(HWND hwnd)
{
if (selection < 0) {
return(FALSE);
}
if (!view_isexpanded(current_view)) {
/* save the current outline size and position */
WINDOWPLACEMENT wp;
if (GetWindowPlacement(hwndClient,&wp)) {
WriteProfileInt(APPNAME, "OutlineShowCmd", wp.showCmd);
WriteProfileInt(APPNAME, "OutlineMaxX", wp.ptMaxPosition.x);
WriteProfileInt(APPNAME, "OutlineMaxY", wp.ptMaxPosition.y);
WriteProfileInt(APPNAME, "OutlineNormLeft", wp.rcNormalPosition.left);
WriteProfileInt(APPNAME, "OutlineNormTop", wp.rcNormalPosition.top);
WriteProfileInt(APPNAME, "OutlineNormRight", wp.rcNormalPosition.right);
WriteProfileInt(APPNAME, "OutlineNormBottom", wp.rcNormalPosition.bottom);
WriteProfileInt(APPNAME, "OutlineSaved", 1);
}
/* restore the previous expanded size and position, if any */
if (GetProfileInt(APPNAME, "ExpandedSaved", 0)) {
wp.flags = 0;
wp.showCmd
= GetProfileInt( APPNAME, "ExpandShowCmd"
, SW_SHOWMAXIMIZED);
wp.ptMaxPosition.x
= GetProfileInt( APPNAME, "ExpandMaxX", 0);
wp.ptMaxPosition.y
= GetProfileInt( APPNAME, "ExpandMaxY", 0);
wp.rcNormalPosition.left
= GetProfileInt( APPNAME, "ExpandNormLeft"
, wp.rcNormalPosition.left);
wp.rcNormalPosition.top
= GetProfileInt( APPNAME, "ExpandNormTop"
, wp.rcNormalPosition.top);
wp.rcNormalPosition.right
= GetProfileInt( APPNAME, "ExpandNormRight"
, wp.rcNormalPosition.right);
wp.rcNormalPosition.bottom
= GetProfileInt( APPNAME, "ExpandNormBottom"
, wp.rcNormalPosition.bottom);
SetWindowPlacement(hwndClient,&wp);
}
else ShowWindow(hwndClient, SW_SHOWMAXIMIZED);
}
/*change the view mapping to expand mode */
if (view_expand(current_view, selection)) {
/* ok - we now have an expanded view - change status
* to show this
*/
DisplayMode = MODE_EXPAND;
/* resize to show the graphic bar picture */
DoResize(hwndClient);
/* change button,status text-if we are not still busy*/
if (!fBusy) {
TCHAR szBuf[10];
lstrcpy(szBuf,LoadRcString(IDS_OUTLINE));
/* the status field when we are expanded shows the
* tag field (normally the file name) for the
* item we are expanding
*/
SetStatus(view_getcurrenttag(current_view) );
SetButtonText(szBuf);
}
return(TRUE);
}
return(FALSE);
} /* ToExpand */
--------------------next---------------------
阅读(1077) | 评论(0) | 转发(0) |