На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела Visual Basic: Общие вопросы
Здесь обсуждаются вопросы по языку Visual Basic 1-6 (а так же по схожим языкам, как, например, PowerBASIC).
Вопросы по Visual Basic .NET (это который входит в состав Visual Studio 2002/2003/2005/2008+, для тех, кто не в курсе) обсуждаются в разделе .NET.

Обратите внимание:
1. Прежде чем начать новую тему или отправить сообщение, убедитесь, что Вы не нарушаете правил форума!
2. Обязательно воспользуйтесь поиском. Возможно, Ваш вопрос уже обсуждали. Полезные ссылки приведены ниже.
3. Темы с просьбой выполнить какую-либо работу за автора в этом разделе не обсуждаются. Студенты, вам сюда: ПОМОЩЬ СТУДЕНТАМ!
4. Используйте теги [ code=vba ] ...текст программы... [ /code ] для выделения текста программы подсветкой.
5. Помните, здесь телепатов нет. Формулируйте свой вопрос максимально грамотно и чётко: Как правильно задавать вопросы
6. Запрещено отвечать в темы месячной (и более) давности, без веских на то причин.

Полезные ссылки:
user posted image FAQ Сайта user posted image FAQ Раздела user posted image Кладовка user posted image Наши Исходники user posted image API-Guide user posted image Поиск по Разделу user posted image MSDN Library Online user posted image Google

Ваше мнение о модераторах: user posted image SCINER, user posted image B.V.
Модераторы: SCINER, B.V.
  
> Многоугольник с заливкой и шкала , Такой ерунды vb6 не может?!
    Вдруг возникают трудности там где их меньше всего ждешь.
    На пикче требуется нарисовать многоугольник с заливкой

    ExpandedWrap disabled
      ReDim p(1 To 4) As POINTAPI
      p(1).X = 20: p(1).Y = 500
      p(2).X = 50: p(2).Y = 200
      p(3).X = 150: p(3).Y = 300
      p(4).X = 100: p(4).Y = 600
      Pic.Scale (1, 1)-(256, 1000)
      Polygon Pic.hdc, p(1), 4
      Pic.Refresh


    Изменение шкалы Pic.Scale (1, 1)-(1256, 3000) никак не отражается на рисунке. Почему?
    Почему Polygon не реагирует на изменение шкалы?
    И как же в таком случае можно нарисовать залитый многоугольник средствами vb? А мне еще и быстро надо.
    Сообщение отредактировано: B.V. -
      Потому что WinAPI ф-ции работают в пиксельной сетке и другие их не колышут ни коим образом. Просто переводи в пикселы:
      ExpandedWrap disabled
        p(1).X = pic.ScaleX(20, pic.ScaleMode, vbPixels)
        p(1).Y = pic.ScaleY(500, pic.ScaleMode, vbPixels)
        ' И т.п.
        ALXR, спасибо, все работает, правда я уже понял как это делать и написал

        ExpandedWrap disabled
          Sub drawPolygon(p() As POINTAPI, sW As Long, sH As Long, eW As Long, eH As Long)
          Dim i As Long: ReDim opa(1 To UBound(p)) As POINTAPI: Form1.Pic.Cls
          For i = 1 To UBound(p)
              'opa(i).x = p(i).x * Form1.Pic.Width / (eW - sW)
              'opa(i).y = p(i).y * Form1.Pic.Height / (eH - sH)
              opa(i).x = Form1.Pic.ScaleX(p(i).x, Form1.Pic.ScaleMode, vbPixels)
              opa(i).y = Form1.Pic.ScaleY(p(i).y, Form1.Pic.ScaleMode, vbPixels)
          Next
          Polygon Form1.Pic.hdc, opa(1), UBound(opa): Form1.Pic.Refresh
          End Sub


        !
        п. 4 правил раздела


        Твои строчки и мои почти совпадают, но твои правильные, без выкрутас
        Сообщение отредактировано: B.V. -
          Народ, давайте на чистоту, про метод Paint кто нибудь слышал?
            Цитата ANDLL @
            про метод Paint кто нибудь слышал?


            Метод? Paint? Не слышал. А где ты его нашел?
              Эээ, в VB6 его нету? Жалко, а в gw-basic был....
              0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
              0 пользователей:


              Рейтинг@Mail.ru
              [ Script execution time: 0,0277 ]   [ 16 queries used ]   [ Generated: 3.05.24, 12:18 GMT ]