winlogon登录对话框user32!sldrawtext显示星号
winlogon登录对话框user32!sldrawtext
第二部分:位置
srv03rtm/windows/core/ntuser/client/editsl.c
第三部分:
/***************************************************************************\
* SLChar AorW
*
* Handles character input
*
* History:
\***************************************************************************/
void SLChar(
PED ped,
DWORD keyValue)
{
if (updateText) {
/*
* Dirty flag (ped->fDirty) was set when we inserted text
*/
ECNotifyParent(ped, EN_UPDATE);
hdc = ECGetEditDC(ped, FALSE);
if (!SLScrollText(ped, hdc)) {
if (ped->format == ES_LEFT) {
//
// Call SLDrawText with correct ichStart
//
SLDrawText(ped, hdc, max(0, (int)(ped->ichCaret - InsertTextLen - ped->wMaxNegCcharPos)));
} else {
/*
* We can't just draw from ichStart because string may have
* shifted because of alignment.
*/
SLDrawText(ped, hdc, 0);
}
}
ECReleaseEditDC(ped, hdc, FALSE);
ECNotifyParent(ped, EN_CHANGE);
NotifyWinEvent(EVENT_OBJECT_VALUECHANGE, ped->hwnd, OBJID_CLIENT, INDEXID_CONTAINER);
}
}
