Резюме: Похоже, у вас есть дочерний элемент управления с пользовательским методом рисования.Вы хотите нарисовать элемент управления в области, которая больше, чем границы самого элемента управления.Например, если вы разместите свой элемент управления в (10, 10, 100, 100), вы хотите нарисовать область в (0, 10, 110, 100).
Вы не можете сделать это точно, элемент управленияHDC, который передается методу рисования, предназначен для дескриптора собственного окна этого элемента управления.Он обрезается ОС и AFAIK, и нет способа рисовать вне его с помощью HDC, предоставленного методу рисования.
Что вы можете сделать: один из вариантов - переопределить метод create родительского окна и удалитьстиль окна WS_CLIPCHILDREN (0x02000000), затем нарисуйте дочерний элемент в методе рисования родителя.
Другой вариант - просто расширить область дочернего окна, чтобы она охватила область, которую вы хотите нарисовать.Если вы также переопределите метод OnPaintBackground вашего элемента управления, вы можете запретить фоновой краске очистить отображение родительского объекта.Это проблематично, так как родитель будет обрезать область ребенка, а не обновлять ее.Таким образом, вам все еще нужно удалить родительский WS_CLIPCHILDREN, чтобы он работал.
Я уверен, что есть и другие возможности, которые в основном одинаковы, вы не можете этого сделать.