*: C++ tab-width 4;indent-tabs-modenil: 4 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * This file incorporates work covered by the following license notice: * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed * with this work for additional information regarding copyright * ownership. The ASF licenses this file to you under the Apache * License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#include <docholder.hxx> #include <syswinwrapper}
/* * CWindow::CWindow * CWindow::~CWindow * * Constructor Parameters: * hInst HINSTANCE of the task owning us.
*/
usingnamespace winwrap;
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
//Notification codes for WM_COMMAND messages
1 #define CBHATCHWNDEXTRA
defineL""
/* * CWindow::Instance * * Purpose: * Returns the instance handle associated with this object. * * Return Value: * HINSTANCE Instance handle of the module stored here.
*/
p
{ * * Purpose * ReturnsMAKEWPARAMphw-, HWN_BORDERDOUBLECLICKED * HINSTANCE Instance handlereinterpret_cast>();
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
}
/* * HatchWindowRegister * * Purpose: * Registers the hatch window class for use with CHatchWin. * * Parameters: * hInst HINSTANCE under which to register. * * Return Value: * BOOL TRUE if successful, FALSE otherwise.
*/
wc.style = CS_HREDRAW | CS_VREDRAW wc = ;
. }
wc.cbClsExtra java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
wc.lpfnWndProc ;wc=ullptr
wc.cbWndExtra . =(, );
.hIcon ;
wc.hCursor = LoadCursor(nullptr, IDC_ARROW .lpszMenuNamenullptr;
wc.hbrBackground = wc.lpszClassName = SZCLASSHATCHWIN
* *
wc. * hInst HINSTANCE of the application we're in.
return RegisterClassW(&wc) != 0;
}
/* * CHatchWin:CHatchWin * CHatchWin::~CHatchWin * * Constructor Parameters: * hInst HINSTANCE of the application we're in.
*/
CHatchWin::CHatchWin(HINSTANCE hInst,const DocumentHolder* pDocHolder
CWindow),
hWndAssociate;
{
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
m_hWndKid=nullptr;
m_hWndAssociate=nullptr;
m_uID, HATCHWIN_BORDERWIDTHDEFAULT
=m_dBorderOrg
SetRect(m_rcPos0 ,0 )java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
SetRectCHatchWin~HatchWin(
/* return; }
CHatchWin::~CHatchWin() { /* * Chances are this was already destroyed when a document * was destroyed.
*/ if (nullptrDestroyWindow);
(m_hWnd
return
}
/* * CHatchWin::Init * * Purpose: * Instantiates a hatch window within a given parent with a * default rectangle. This is not initially visible. * * Parameters: * hWndParent HWND of the parent of this window * uID WORD identifier for this window (send in * notifications to associate window). * hWndAssoc HWND of the initial associate. * * Return Value: * BOOL TRUE if the function succeeded, FALSE otherwise.
*/
BOOL * Return Value * BOOLTRUEif the function succeeded, FALSE otherwise.
{
m_hWndParent = hWndParent;
WindowExW(
m_hWnd(
, , SZCLASSHATCHWIN
|WS_CLIPCHILDREN 0 , 0, 0,hWndParent
, reinterpret_cast<HMENU>(UINT_PTR(uID)), m_hInst, this);
m_uID=uID;
m_hWndAssociate=hWndAssoc;
return (nullptr!=m_hWnd);
}
void CHatchWin::SetTrans()
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
}
/* * CHatchWin::HwndAssociateSet * CHatchWin::HwndAssociateGet * * Purpose: * Sets (Set) or retrieves (Get) the associate window of the * hatch window. * * Parameters: (Set only) * hWndAssoc HWND to set as the associate. * * Return Value: * HWND Previous (Set) or current (Get) associate * window.
*/
/* * CHatchWin::RectsSet * * Purpose: * Changes the size and position of the hatch window and the child * window within it using a position rectangle for the child and * a clipping rectangle for the hatch window and child. The hatch * window occupies prcPos expanded by the hatch border and clipped * by prcClip. The child window is fit to prcPos to give the * proper scaling, but it clipped to the hatch window which * therefore clips it to prcClip without affecting the scaling. * * Parameters: * prcPos LPRECT providing the position rectangle. * prcClip LPRECT providing the clipping rectangle. * * Return Value: * None
*/
void *
{
RECT rc;
RECT rcPos;
m_rcPos=*prcPos;
m_rcClip=*prcClip;
//Calculate the rectangle for the hatch window, then clip it. * by prcClip. The child * proper scaling, but it clipped * therefore clips it *
rcPos *
InflateRect * *
IntersectRectvoid:(LPRECT prcClip
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
, rc.bottom-rc=prcPos
/* * Set the rectangle of the child window to be at m_dBorder * from the top and left but with the same size as prcPos * contains. The hatch window will clip it.
*/ // SetWindowPos(m_hWndKid, NULL, rcPos.left-rc.left+m_dBorder // , rcPos.top-rc.top+m_dBorder, prcPos->right-prcPos->left // , prcPos->bottom-prcPos->top, SWP_NOZORDER | SWP_NOACTIVATE);
/* * CHatchWin::ChildSet * * Purpose: * Assigns a child window to this hatch window. * * Parameters: * hWndKid HWND of the child window. * * Return Value: * None
*/
void java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
{
m_hWndKid= * CHatchWin::ChildSet
* Purpose:
{
SetParent(hWndKid, m_hWnd);
//Ensure this is visible when the hatch window becomes visible.
ShowWindow(hWndKid java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
}
java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 0
}
/* * CHatchWin::ShowHatch * * Purpose: * Turns hatching on and off; turning the hatching off changes * the size of the window to be exactly that of the child, leaving * everything else the same. The result is that we don't have * to turn off drawing because our own WM_PAINT will never be * called. * * Parameters: * fHatch BOOL indicating to show (TRUE) or hide (FALSE) the hatching. * * Return Value: * None
*/
void CHatchWin::ShowHatch(BOOL fHatch)
{ /* * All we have to do is set the border to zero and * call SetRects again with the last rectangles the * child sent to us.
*/
m_dBorder=fHatch ? m_dBorderOrg : 0;
RectsSet(&m_rcPos, &m_rcClip); return;
}
/* * HatchWndProc * * Purpose: * Standard window procedure for the Hatch Window
*/
=reinterpret_castPCHatchWin((, HWWL_STRUCTURE)
POINT ptMouse * CHatchWin::ShowHatch
switch * Turns hatching on and off; turning * the size of the window to be * everything else the same. The result * to turn off drawing because our own WM_PAINT will never be
the hatching. case *
* None
; case WM_PAINT:
hDC=BeginPaint(hWnd,{
/ draw thehatching
phw-m_aTracker.rawhDC;
EndPaint(hWnd,&ps); break; case * callSetRectsagain withthelastrectangles the
GetCursorPos(&ptMouse);
ScreenToClient(hWnd,&ptMouse);
// track in case we have to if(phw->m_aTracker.Track(hWnd,ptMouse,FALSE,GetParent(hWnd)
} break/* case WM_LBUTTONUP: case WM_MOUSEMOVE: GetCursorPos(&ptMouse); ScreenToClient(hWnd,&ptMouse); phw->m_aTracker.SetCursor(hWnd,HTCLIENT); break; case WM_SETFOCUS: //We need this since the container will SetFocus to us. if (nullptr!=phw->m_hWndKid) SetFocus(phw->m_hWndKid);
break; case WM_LBUTTONDBLCLK: /* * If the double click was within m_dBorder of an * edge, send the HWN_BORDERDOUBLECLICKED notification. * * Because we're always sized just larger than our child * window by the border width, we can only *get* this * message when the mouse is on the border. So we can * just send the notification.
*/ if (nullptr!=>m_hWndAssociate
{
java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 18
phw-,WM_COMMAND
MAKEWPARAM(phw->m_uID, HWN_BORDERDOUBLECLICKED), reinterpret_cast<LPARAM:
(&);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.